1#include "stdio_impl.h" 2#include <string.h> 3 4// Empty implementation because vfscanf operates rpos directly. 5static size_t string_read(FILE *f, unsigned char *buf, size_t len) 6{ 7 return 0; 8} 9 10int vsscanf(const char *restrict s, const char *restrict fmt, va_list ap) 11{ 12 size_t s_len = strlen(s); 13 FILE f = { 14 .buf = (void *)s, .cookie = (void *)s, 15 .read = string_read, .lock = -1, 16 .buf_size = s_len, .rpos = s, .rend = s + s_len, 17 }; 18 return vfscanf(&f, fmt, ap); 19} 20 21weak_alias(vsscanf,__isoc99_vsscanf); 22