Fix infinite loop!
Untested code is indeed buggy code. Mozilla bug #603352.
This commit is contained in:
parent
993d1e786a
commit
f4792d99ee
|
@ -630,13 +630,11 @@ hb_ot_tag_from_language (hb_language_t language)
|
||||||
char tag[4];
|
char tag[4];
|
||||||
int i;
|
int i;
|
||||||
lang_str += 6;
|
lang_str += 6;
|
||||||
i = 0;
|
|
||||||
#define IS_LETTER(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
|
#define IS_LETTER(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
|
||||||
#define TO_UPPER(c) (((c) >= 'a' && (c) <= 'z') ? (c) + 'A' - 'a' : (c))
|
#define TO_UPPER(c) (((c) >= 'a' && (c) <= 'z') ? (c) + 'A' - 'a' : (c))
|
||||||
while (i < 4 && IS_LETTER (lang_str[i])) {
|
for (i = 0; i < 4 && IS_LETTER (lang_str[i]); i++)
|
||||||
tag[i] = TO_UPPER (lang_str[i]);
|
tag[i] = TO_UPPER (lang_str[i]);
|
||||||
}
|
for (; i < 4; i++)
|
||||||
while (i < 4)
|
|
||||||
tag[i] = ' ';
|
tag[i] = ' ';
|
||||||
return HB_TAG_STR (tag);
|
return HB_TAG_STR (tag);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue