diff options
Diffstat (limited to 'lib/mbstring/u8chk.c')
-rw-r--r-- | lib/mbstring/u8chk.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/mbstring/u8chk.c b/lib/mbstring/u8chk.c index 2566bac..20c4f3f 100644 --- a/lib/mbstring/u8chk.c +++ b/lib/mbstring/u8chk.c @@ -1,17 +1,15 @@ #include "rune.h" #include "mbstring.h" -char8_t * -(u8chk)(const char8_t *s, size_t n) +const char8_t * +u8chk(struct u8view sv) { - while (n) { - rune ch; - int m = u8tor(&ch, s); + int w; + rune ch; + while (w = u8next(&ch, &sv)) { if (ch == RUNE_ERROR) - return (char8_t *)s; - n -= m; - s += m; + return sv.p - w; } return nullptr; |