[OS/2] fix stupid mistake with masks when converting from UTF8 to 32bit number

This commit is contained in:
mozilla@weilbacher.org 2007-11-17 11:58:50 -08:00
Родитель 8c59f2d9ac
Коммит da4f15a9bd
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -513,12 +513,12 @@ PRUint32 getUTF8CharAndNext(const PRUint8 *aString, PRUint8 *aLength)
}
if ((aString[0] >> 4) == 14) { // three leading ones -> three bytes
*aLength = 3;
return ((aString[0] & 0x1F) << 12) + ((aString[1] & 0x3F) << 6) +
return ((aString[0] & 0x0F) << 12) + ((aString[1] & 0x3F) << 6) +
(aString[2] & 0x3F);
}
if ((aString[0] >> 4) == 15) { // four leading ones -> four bytes
*aLength = 4;
return ((aString[0] & 0x1F) << 18) + ((aString[1] & 0x3F) << 12) +
return ((aString[0] & 0x07) << 18) + ((aString[1] & 0x3F) << 12) +
((aString[2] & 0x3F) << 6) + (aString[3] & 0x3F);
}
return aString[0];