projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make dynlink.lo depend on reloc.h in makefile
[musl]
/
src
/
stdio
/
vfscanf.c
diff --git
a/src/stdio/vfscanf.c
b/src/stdio/vfscanf.c
index
8be0d91
..
61b0edb
100644
(file)
--- a/
src/stdio/vfscanf.c
+++ b/
src/stdio/vfscanf.c
@@
-103,6
+103,7
@@
int vfscanf(FILE *f, const char *fmt, va_list ap)
}
if (*p != '%' || p[1] == '%') {
p += *p=='%';
}
if (*p != '%' || p[1] == '%') {
p += *p=='%';
+ shlim(f, 0);
c = shgetc(f);
if (c!=*p) {
shunget(f);
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':
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:
if (!shcnt(f)) goto match_fail;
if (dest) switch (size) {
case SIZE_def:
@@
-312,6
+313,7
@@
int vfscanf(FILE *f, const char *fmt, va_list ap)
if (readwc(c, &wcs, &st) < 0)
goto input_fail;
}
if (readwc(c, &wcs, &st) < 0)
goto input_fail;
}
+ shunget(f);
if (!mbsinit(&st)) goto input_fail;
if (dest) *wcs++ = 0;
break;
if (!mbsinit(&st)) goto input_fail;
if (dest) *wcs++ = 0;
break;