|
@@ -54,7 +54,10 @@ resume0:
|
|
wn--;
|
|
wn--;
|
|
c = 0;
|
|
c = 0;
|
|
} else for (;;) {
|
|
} else for (;;) {
|
|
- if (!wn) return wn0;
|
|
|
|
|
|
+ if (!wn) {
|
|
|
|
+ *src = (const void *)s;
|
|
|
|
+ return wn0;
|
|
|
|
+ }
|
|
if (*s-1u < 0x7f && (uintptr_t)s%4 == 0) {
|
|
if (*s-1u < 0x7f && (uintptr_t)s%4 == 0) {
|
|
while (wn>=4 && !(( *(uint32_t*)s | *(uint32_t*)s-0x01010101) & 0x80808080)) {
|
|
while (wn>=4 && !(( *(uint32_t*)s | *(uint32_t*)s-0x01010101) & 0x80808080)) {
|
|
*ws++ = *s++;
|
|
*ws++ = *s++;
|