diff options
Diffstat (limited to 'src/multibyte/mbsrtowcs.c')
| -rw-r--r-- | src/multibyte/mbsrtowcs.c | 5 | 
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++; | 
