fix logic error in fread
[musl] / src / stdio / vswscanf.c
1 #include <stdio.h>
2 #include <string.h>
3 #include <wchar.h>
4 #include <wctype.h>
5
6 #include "__scanf.h"
7
8 static void s_read(rctx_t *r)
9 {
10         wchar_t *s = r->opaque;
11         if (!s[r->l]) r->c = -1;
12         else r->c = s[r->l++];
13 }
14
15 int vswscanf(const wchar_t *s, const wchar_t *fmt, va_list ap)
16 {
17         rctx_t r = { s_read, (void *)s, 1, iswspace };
18         return __scanf(&r, fmt, ap);
19 }