Fix FcNameUnparseLangSet()

Was broken since ffd6668b46
This commit is contained in:
Behdad Esfahbod 2009-07-22 19:25:24 -04:00
parent d9741a7f1a
commit 5c6d1ff23b
1 changed files with 11 additions and 18 deletions

View File

@ -551,27 +551,20 @@ bail0:
FcBool
FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls)
{
int i, bit;
FcChar32 bits;
int i;
FcBool first = FcTrue;
for (i = 0; i < NUM_LANG_SET_MAP; i++)
for (i = 0; i < NUM_LANG_CHAR_SET; i++)
if (FcLangSetBitGet (ls, i))
{
if ((bits = ls->map[i]))
{
for (bit = 0; bit <= 31; bit++)
if (bits & (1 << bit))
{
int id = (i << 5) | bit;
if (!first)
if (!FcStrBufChar (buf, '|'))
return FcFalse;
if (!FcStrBufString (buf, fcLangCharSets[id].lang))
if (!FcStrBufString (buf, fcLangCharSets[i].lang))
return FcFalse;
first = FcFalse;
}
}
}
if (ls->extra)
{
FcStrList *list = FcStrListCreate (ls->extra);