X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fstdio%2Fvfscanf.c;h=54d08495bbe0a163c75dd91d7c379379b448d38b;hb=36be5284c2a79406778ac489928c6deb05857329;hp=73294cdb990770cb3ea65a0036c17f41f1b996ae;hpb=2dd5dc78d4502381e2933137ed525acf339cb383;p=musl diff --git a/src/stdio/vfscanf.c b/src/stdio/vfscanf.c index 73294cdb..54d08495 100644 --- a/src/stdio/vfscanf.c +++ b/src/stdio/vfscanf.c @@ -71,7 +71,7 @@ static int readwc(int c, wchar_t **wcs, mbstate_t *st) return 0; } -int vfscanf(FILE *f, const char *fmt, va_list ap) +int vfscanf(FILE *restrict f, const char *restrict fmt, va_list ap) { int width; int size; @@ -103,6 +103,7 @@ int vfscanf(FILE *f, const char *fmt, va_list ap) } if (*p != '%' || p[1] == '%') { p += *p=='%'; + shlim(f, 0); c = shgetc(f); if (c!=*p) { shunget(f); @@ -291,7 +292,7 @@ int vfscanf(FILE *f, const char *fmt, va_list ap) case 'e': case 'E': case 'f': case 'F': case 'g': case 'G': - y = __floatscan(f, -1, size, 0); + y = __floatscan(f, size, 0); if (!shcnt(f)) goto match_fail; if (dest) switch (size) { case SIZE_def: