7 static void s_read(rctx_t *r)
9 unsigned char *s = r->opaque;
10 if (!s[r->l]) r->c = -1;
11 else r->c = s[r->l++];
14 int vsscanf(const char *s, const char *fmt, va_list ap)
16 size_t l = strlen(fmt), i;
18 rctx_t r = { s_read, (void *)s, 0, isspace };
19 for (i=0; i<=l; i++) fmt2[i] = (unsigned char)fmt[i];
20 return __scanf(&r, fmt2, ap);