- rctx_t r = { s_read, (void *)s, 1, iswspace };
- return __scanf(&r, fmt, ap);
+ unsigned char buf[256];
+ FILE f = {
+ .buf = buf, .buf_size = sizeof buf,
+ .cookie = (void *)s,
+ .read = wstring_read, .lock = -1
+ };
+ return vfwscanf(&f, fmt, ap);