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
commit e71b05d365
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 5 deletions

View File

@ -1179,14 +1179,32 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
static String _parse_string(const uint8_t *p_bytes, bool p_utf8) {
uint32_t offset = 0;
uint32_t len = decode_uint16(&p_bytes[offset]);
uint32_t len = 0;
if (p_utf8) {
//don't know how to read extended utf8, this will have to be for now
len >>= 8;
uint8_t byte = p_bytes[offset];
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) {