ref: f67f3adf59246760c07cc8ba5f709dea672ec176
parent: 16ddbe3a05cba1ba946ccd078f2da983c03784c7
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Sun Jan 5 22:36:19 EST 2025
u8_nextmemchar: make clang-analyzer less confused
--- a/utf8.c
+++ b/utf8.c
@@ -80,13 +80,13 @@
Rune
u8_nextmemchar(const char *s, size_t *i)
{
- size_t sz = u8_seqlen(&s[*i]);
+ size_t sz = trailingBytesForUTF8[(uint8_t)s[*i]];
Rune ch = 0;
- for(size_t j = 0; j < sz; j++){
+ for(size_t j = 0; j <= sz; j++){
ch <<= 6;
ch += (uint8_t)s[(*i)++];
};
- return ch - offsetsFromUTF8[sz-1];
+ return ch - offsetsFromUTF8[sz];
}
int