clean up stdio_impl.h
[musl] / src / stdio / __string_read.c
index 5c3728d..7b50a7e 100644 (file)
@@ -1,9 +1,12 @@
 #include "stdio_impl.h"
+#include <string.h>
 
 size_t __string_read(FILE *f, unsigned char *buf, size_t len)
 {
        char *src = f->cookie;
-       size_t k = strnlen(src, len+256);
+       size_t k = len+256;
+       char *end = memchr(src, 0, k);
+       if (end) k = end-src;
        if (k < len) len = k;
        memcpy(buf, src, len);
        f->rpos = (void *)(src+len);