1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Merge pull request #37193 from madmiraal/fix-android-export-unicode-errors

Fix Android export throwing Unicode errors.
This commit is contained in:
Rémi Verschelde
2020-04-28 14:27:56 +02:00
committed by GitHub

View File

@@ -1179,14 +1179,32 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
static String _parse_string(const uint8_t *p_bytes, bool p_utf8) { static String _parse_string(const uint8_t *p_bytes, bool p_utf8) {
uint32_t offset = 0; uint32_t offset = 0;
uint32_t len = decode_uint16(&p_bytes[offset]); uint32_t len = 0;
if (p_utf8) { if (p_utf8) {
//don't know how to read extended utf8, this will have to be for now uint8_t byte = p_bytes[offset];
len >>= 8; if (byte & 0x80)
offset += 2;
else
offset += 1;
byte = p_bytes[offset];
offset++;
if (byte & 0x80) {
len = byte & 0x7F;
len = (len << 8) + p_bytes[offset];
offset++;
} else {
len = byte;
}
} else {
len = decode_uint16(&p_bytes[offset]);
offset += 2;
if (len & 0x8000) {
len &= 0x7FFF;
len = (len << 16) + decode_uint16(&p_bytes[offset]);
offset += 2;
}
} }
offset += 2;
//printf("len %i, unicode: %i\n",len,int(p_utf8));
if (p_utf8) { if (p_utf8) {