aboutsummaryrefslogtreecommitdiff
path: root/lib/mbstring/u8chk.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mbstring/u8chk.c')
-rw-r--r--lib/mbstring/u8chk.c14
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;