vsscanf.c 381 B

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