From 07c4b3b8c02d15a0167762d3e32c383bd0659618 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 30 Aug 2020 18:06:52 +0200 Subject: [PATCH] Simplify code for handling mbstring language aliases Rather than using pointers to pointers to pointers (3 levels of indirection), what makes sense is two levels. This reduces unnecessary pointer dereference operations. --- ext/mbstring/libmbfl/mbfl/mbfl_language.c | 6 +++--- ext/mbstring/libmbfl/mbfl/mbfl_language.h | 2 +- ext/mbstring/libmbfl/nls/nls_de.c | 2 +- ext/mbstring/libmbfl/nls/nls_uni.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.c b/ext/mbstring/libmbfl/mbfl/mbfl_language.c index 8e4d8f776d8..ba1855aed10 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.c @@ -99,13 +99,13 @@ mbfl_name2language(const char *name) } } - /* serch aliases */ + /* search aliases */ i = 0; while ((language = mbfl_language_ptr_table[i++]) != NULL) { if (language->aliases != NULL) { j = 0; - while ((*language->aliases)[j] != NULL) { - if (strcasecmp((*language->aliases)[j], name) == 0) { + while (language->aliases[j]) { + if (strcasecmp(language->aliases[j], name) == 0) { return language; } j++; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.h b/ext/mbstring/libmbfl/mbfl/mbfl_language.h index a0a73899ee3..c5e68df745e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.h @@ -72,7 +72,7 @@ typedef struct _mbfl_language { enum mbfl_no_language no_language; const char *name; const char *short_name; - const char *(*aliases)[]; + const char **aliases; enum mbfl_no_encoding mail_charset; enum mbfl_no_encoding mail_header_encoding; enum mbfl_no_encoding mail_body_encoding; diff --git a/ext/mbstring/libmbfl/nls/nls_de.c b/ext/mbstring/libmbfl/nls/nls_de.c index 9e9dae7cab6..54f4679b450 100644 --- a/ext/mbstring/libmbfl/nls/nls_de.c +++ b/ext/mbstring/libmbfl/nls/nls_de.c @@ -6,7 +6,7 @@ const mbfl_language mbfl_language_german = { mbfl_no_language_german, "German", "de", - (const char *(*)[])&mbfl_language_german_aliases, + mbfl_language_german_aliases, mbfl_no_encoding_8859_15, mbfl_no_encoding_qprint, mbfl_no_encoding_8bit diff --git a/ext/mbstring/libmbfl/nls/nls_uni.c b/ext/mbstring/libmbfl/nls/nls_uni.c index e8ec5c795af..994b1c450e4 100644 --- a/ext/mbstring/libmbfl/nls/nls_uni.c +++ b/ext/mbstring/libmbfl/nls/nls_uni.c @@ -6,7 +6,7 @@ const mbfl_language mbfl_language_uni = { mbfl_no_language_uni, "uni", "uni", - (const char *(*)[])&mbfl_language_uni_aliases, + mbfl_language_uni_aliases, mbfl_no_encoding_utf8, mbfl_no_encoding_base64, mbfl_no_encoding_base64