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.
This commit is contained in:
Alex Dowad 2020-08-30 18:06:52 +02:00
parent 2f096c4039
commit 07c4b3b8c0
4 changed files with 6 additions and 6 deletions

View file

@ -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++;

View file

@ -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;

View file

@ -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

View file

@ -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