Skip to content

Commit 995d228

Browse files
committed
Code cleanup in mbfl_language.c
1 parent 5d81d2d commit 995d228

File tree

1 file changed

+24
-48
lines changed

1 file changed

+24
-48
lines changed

ext/mbstring/libmbfl/mbfl/mbfl_language.c

Lines changed: 24 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -75,85 +75,61 @@ static const mbfl_language *mbfl_language_ptr_table[] = {
7575
};
7676

7777
/* language resolver */
78-
const mbfl_language *
79-
mbfl_name2language(const char *name)
78+
const mbfl_language *mbfl_name2language(const char *name)
8079
{
81-
const mbfl_language *language;
82-
int i, j;
80+
const mbfl_language **language;
8381

8482
if (name == NULL) {
8583
return NULL;
8684
}
8785

88-
i = 0;
89-
while ((language = mbfl_language_ptr_table[i++]) != NULL){
90-
if (strcasecmp(language->name, name) == 0) {
91-
return language;
86+
for (language = mbfl_language_ptr_table; *language; language++) {
87+
if (strcasecmp((*language)->name, name) == 0) {
88+
return *language;
9289
}
9390
}
9491

95-
i = 0;
96-
while ((language = mbfl_language_ptr_table[i++]) != NULL){
97-
if (strcasecmp(language->short_name, name) == 0) {
98-
return language;
92+
for (language = mbfl_language_ptr_table; *language; language++) {
93+
if (strcasecmp((*language)->short_name, name) == 0) {
94+
return *language;
9995
}
10096
}
10197

10298
/* search aliases */
103-
i = 0;
104-
while ((language = mbfl_language_ptr_table[i++]) != NULL) {
105-
if (language->aliases != NULL) {
106-
j = 0;
107-
while (language->aliases[j]) {
108-
if (strcasecmp(language->aliases[j], name) == 0) {
109-
return language;
99+
for (language = mbfl_language_ptr_table; *language; language++) {
100+
if ((*language)->aliases) {
101+
for (const char **alias = (*language)->aliases; *alias; alias++) {
102+
if (strcasecmp(*alias, name) == 0) {
103+
return *language;
110104
}
111-
j++;
112105
}
113106
}
114107
}
115108

116109
return NULL;
117110
}
118111

119-
const mbfl_language *
120-
mbfl_no2language(enum mbfl_no_language no_language)
112+
const mbfl_language *mbfl_no2language(enum mbfl_no_language no_language)
121113
{
122-
const mbfl_language *language;
123-
int i;
114+
const mbfl_language **language;
124115

125-
i = 0;
126-
while ((language = mbfl_language_ptr_table[i++]) != NULL){
127-
if (language->no_language == no_language) {
128-
return language;
116+
for (language = mbfl_language_ptr_table; *language; language++) {
117+
if ((*language)->no_language == no_language) {
118+
return *language;
129119
}
130120
}
131121

132122
return NULL;
133123
}
134124

135-
enum mbfl_no_language
136-
mbfl_name2no_language(const char *name)
125+
enum mbfl_no_language mbfl_name2no_language(const char *name)
137126
{
138-
const mbfl_language *language;
139-
140-
language = mbfl_name2language(name);
141-
if (language == NULL) {
142-
return mbfl_no_language_invalid;
143-
} else {
144-
return language->no_language;
145-
}
127+
const mbfl_language *language = mbfl_name2language(name);
128+
return (language == NULL) ? mbfl_no_language_invalid : language->no_language;
146129
}
147130

148-
const char *
149-
mbfl_no_language2name(enum mbfl_no_language no_language)
131+
const char *mbfl_no_language2name(enum mbfl_no_language no_language)
150132
{
151-
const mbfl_language *language;
152-
153-
language = mbfl_no2language(no_language);
154-
if (language == NULL) {
155-
return "";
156-
} else {
157-
return language->name;
158-
}
133+
const mbfl_language *language = mbfl_no2language(no_language);
134+
return (language == NULL) ? "" : language->name;
159135
}

0 commit comments

Comments
 (0)