Procházet zdrojové kódy

fix failure of mbsrtowcs to record stop position when dest is full

Rich Felker před 11 roky
rodič
revize
4ca442157e
1 změnil soubory, kde provedl 4 přidání a 1 odebrání
  1. 4 1
      src/multibyte/mbsrtowcs.c

+ 4 - 1
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++;