|
|
@@ -67,7 +67,9 @@ static char* cpToUTF8(int cp, char* str)
|
|
|
else if (cp < 0x200000) n = 4;
|
|
|
else if (cp < 0x4000000) n = 5;
|
|
|
else if (cp <= 0x7fffffff) n = 6;
|
|
|
+
|
|
|
str[n] = '\0';
|
|
|
+
|
|
|
switch (n)
|
|
|
{
|
|
|
case 6: str[5] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x4000000; BX_FALLTHROUGH;
|
|
|
@@ -75,8 +77,9 @@ static char* cpToUTF8(int cp, char* str)
|
|
|
case 4: str[3] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x10000; BX_FALLTHROUGH;
|
|
|
case 3: str[2] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x800; BX_FALLTHROUGH;
|
|
|
case 2: str[1] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0xc0; BX_FALLTHROUGH;
|
|
|
- case 1: str[0] = char(cp); BX_FALLTHROUGH;
|
|
|
+ case 1: str[0] = char(cp); break;
|
|
|
}
|
|
|
+
|
|
|
return str;
|
|
|
}
|
|
|
|