summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/multibyte/mbsrtowcs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/multibyte/mbsrtowcs.c b/src/multibyte/mbsrtowcs.c
index 75a493c4..b9bbc33d 100644
--- a/src/multibyte/mbsrtowcs.c
+++ b/src/multibyte/mbsrtowcs.c
@@ -54,7 +54,10 @@ resume0:
wn--;
c = 0;
} else for (;;) {
- if (!wn) return wn0;
+ if (!wn) {
+ *src = (const void *)s;
+ return wn0;
+ }
if (*s-1u < 0x7f && (uintptr_t)s%4 == 0) {
while (wn>=4 && !(( *(uint32_t*)s | *(uint32_t*)s-0x01010101) & 0x80808080)) {
*ws++ = *s++;