diff options
| author | Tyge Løvset <[email protected]> | 2022-09-22 13:04:58 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2022-09-22 13:04:58 +0200 |
| commit | 4c5f0ba23ba6294e144243555ed3c02a72259692 (patch) | |
| tree | 380b249e1c36b83b65507da5a2af4f843252a474 /src/utf8code.c | |
| parent | 61c222312bb1cc03ab987fdbc541039723c9e243 (diff) | |
| download | STC-modified-4c5f0ba23ba6294e144243555ed3c02a72259692.tar.gz STC-modified-4c5f0ba23ba6294e144243555ed3c02a72259692.zip | |
Updated _advance() iter methods. Some have signed offsets.
utf8_peek()/utf8_peek_off() added/changed.
Diffstat (limited to 'src/utf8code.c')
| -rw-r--r-- | src/utf8code.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/utf8code.c b/src/utf8code.c index 25244f07..abd21736 100644 --- a/src/utf8code.c +++ b/src/utf8code.c @@ -46,14 +46,11 @@ unsigned utf8_encode(char *out, uint32_t c) return 0; } -uint32_t utf8_peek(const char* s, int pos) { +uint32_t utf8_peek_off(const char* s, int pos) { int inc = -1; if (pos > 0) pos = -pos, inc = 1; while (pos) pos += (*(s += inc) & 0xC0) != 0x80; - - utf8_decode_t d = {.state=0}; - do { utf8_decode(&d, (uint8_t)*s++); } while (d.state); - return d.codep; + return utf8_peek(s); } bool utf8_valid_n(const char* s, size_t nbytes) { |
