new scanf implementation and corresponding integer parser/converter
[musl] / src / stdio / __string_read.c
diff --git a/src/stdio/__string_read.c b/src/stdio/__string_read.c
new file mode 100644 (file)
index 0000000..5c3728d
--- /dev/null
@@ -0,0 +1,13 @@
+#include "stdio_impl.h"
+
+size_t __string_read(FILE *f, unsigned char *buf, size_t len)
+{
+       char *src = f->cookie;
+       size_t k = strnlen(src, len+256);
+       if (k < len) len = k;
+       memcpy(buf, src, len);
+       f->rpos = (void *)(src+len);
+       f->rend = (void *)(src+k);
+       f->cookie = src+k;
+       return len;
+}