OLD | NEW |
1 #include "stdio_impl.h" | 1 #include "stdio_impl.h" |
2 #include <string.h> | 2 #include <string.h> |
3 | 3 |
4 size_t __string_read(FILE *f, unsigned char *buf, size_t len) | 4 size_t __string_read(FILE* f, unsigned char* buf, size_t len) { |
5 { | 5 char* src = f->cookie; |
6 » char *src = f->cookie; | 6 size_t k = len + 256; |
7 » size_t k = len+256; | 7 char* end = memchr(src, 0, k); |
8 » char *end = memchr(src, 0, k); | 8 if (end) |
9 » if (end) k = end-src; | 9 k = end - src; |
10 » if (k < len) len = k; | 10 if (k < len) |
11 » memcpy(buf, src, len); | 11 len = k; |
12 » f->rpos = (void *)(src+len); | 12 memcpy(buf, src, len); |
13 » f->rend = (void *)(src+k); | 13 f->rpos = (void*)(src + len); |
14 » f->cookie = src+k; | 14 f->rend = (void*)(src + k); |
15 » return len; | 15 f->cookie = src + k; |
| 16 return len; |
16 } | 17 } |
OLD | NEW |