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