blob: de002fc19ba49beed1b3962379ed1c5b69116e9e [file] [log] [blame]
Rich Felker18efeb32012-04-16 16:03:45 -04001#include "stdio_impl.h"
2
3size_t __string_read(FILE *f, unsigned char *buf, size_t len)
4{
5 char *src = f->cookie;
Rich Felker8b57a812012-04-17 13:17:01 -04006 size_t k = len+256;
7 char *end = memchr(src, 0, k);
8 if (end) k = end-src;
Rich Felker18efeb32012-04-16 16:03:45 -04009 if (k < len) len = k;
10 memcpy(buf, src, len);
11 f->rpos = (void *)(src+len);
12 f->rend = (void *)(src+k);
13 f->cookie = src+k;
14 return len;
15}