From f1d09dfcc7570e69eb6e9688b736f7b031b22b2d Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Fri, 10 Jun 2022 08:41:01 +0200 Subject: Some changes to utf8 cstr methods. --- src/utf8code.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/utf8code.c b/src/utf8code.c index 1c1e4336..a6ecdb65 100644 --- a/src/utf8code.c +++ b/src/utf8code.c @@ -46,10 +46,11 @@ unsigned utf8_encode(char *out, uint32_t c) } uint32_t utf8_peek(const char* s, int pos) { - int inc = 1; - if (pos < 0) pos = -pos, inc = -1; + int inc = -1; + if (pos > 0) + pos = -pos, inc = 1; while (pos) - pos -= (*(s += inc) & 0xC0) != 0x80; + pos += (*(s += inc) & 0xC0) != 0x80; utf8_decode_t d = {.state=0}; do { utf8_decode(&d, (uint8_t)*s++); } while (d.state); return d.codep; -- cgit v1.2.3