1#include "libc.h"
2#include "stdio_impl.h"
3
4static size_t do_read(FILE* f, unsigned char* buf, size_t len) {
5    return __string_read(f, buf, len);
6}
7
8int vsscanf(const char* restrict s, const char* restrict fmt, va_list ap) {
9    FILE f = {.buf = (void*)s, .cookie = (void*)s, .read = do_read, .lock = -1};
10    return vfscanf(&f, fmt, ap);
11}
12