mirror of https://github.com/mgba-emu/mgba.git
Util: Make the length parameter for utf8Char nullable
This commit is contained in:
parent
92ca66be7c
commit
8a4750f4fe
|
@ -124,11 +124,13 @@ static const uint8_t _utf8len[0x40] = {
|
|||
};
|
||||
|
||||
uint32_t utf8Char(const char** unicode, size_t* length) {
|
||||
if (*length == 0) {
|
||||
if (length && *length == 0) {
|
||||
return 0;
|
||||
}
|
||||
unsigned char byte = **unicode;
|
||||
--*length;
|
||||
if (length) {
|
||||
--*length;
|
||||
}
|
||||
++*unicode;
|
||||
if (!(byte & 0x80)) {
|
||||
return byte;
|
||||
|
@ -140,7 +142,7 @@ uint32_t utf8Char(const char** unicode, size_t* length) {
|
|||
if (numBytes == 0) {
|
||||
return 0xFFFD;
|
||||
}
|
||||
if (*length + 1 < numBytes) {
|
||||
if (length && *length + 1 < numBytes) {
|
||||
*length = 0;
|
||||
return 0xFFFD;
|
||||
}
|
||||
|
@ -148,7 +150,9 @@ uint32_t utf8Char(const char** unicode, size_t* length) {
|
|||
for (i = 1; i < numBytes; ++i) {
|
||||
unichar <<= 6;
|
||||
byte = **unicode;
|
||||
--*length;
|
||||
if (length) {
|
||||
--*length;
|
||||
}
|
||||
++*unicode;
|
||||
if ((byte & 0xC0) != 0x80) {
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue