generate c8arr in fromUTF8

This commit is contained in:
dzaima 2021-09-12 00:07:13 +03:00
parent 93f362c4f2
commit e8fecf64fa

View File

@ -29,14 +29,20 @@ B fromUTF8(char* s, i64 len) {
} }
i8 l = utf8lenb((u8)s[j]); i8 l = utf8lenb((u8)s[j]);
if (l==-1) thrM("Invalid UTF-8"); if (l==-1) thrM("Invalid UTF-8");
// TODO validate unicode or something
sz++; sz++;
j+= l; j+= l;
} }
u32* rp; B r = m_c32arrv(&rp, sz); if (sz==len) {
u64 p = 0; u8* rp; B r = m_c8arrv(&rp, sz);
// TODO verify for (i64 i = 0; i < len; i++) rp[i] = s[i];
for (i64 i = 0; i < len; i+= utf8lenb((u8)s[i])) rp[p++] = utf8_p((u8*)s+i); // may read after end, eh return r;
return r; } else {
u32* rp; B r = m_c32arrv(&rp, sz);
u64 p = 0;
for (i64 i = 0; i < len; i+= utf8lenb((u8)s[i])) rp[p++] = utf8_p((u8*)s+i); // may read after end, eh
return r;
}
} }
B fromUTF8l(char* s) { B fromUTF8l(char* s) {