fixed utf-8 decoding problem in libgu

This commit is contained in:
kr.angelov
2013-10-31 13:20:12 +00:00
parent 368cc301d1
commit 90cc7b8379

View File

@@ -11,9 +11,12 @@ gu_utf8_decode(const uint8_t** src_inout)
return (GuUCS) c;
}
size_t len = (c < 0xe0 ? 1 :
c < 0xf0 ? 2 :
3);
uint32_t mask = 0x07071f7f;
c < 0xf0 ? 2 :
c < 0xf8 ? 3 :
c < 0xfc ? 4 :
5
);
uint64_t mask = 0x0103070F1f7f;
uint32_t u = c & (mask >> (len * 8));
for (size_t i = 1; i <= len; i++) {
c = src[i];