diff options
| author | Rich Felker <dalias@aerifal.cx> | 2012-06-07 22:52:41 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2012-06-07 22:52:41 -0400 | 
| commit | 31eaad4796b9da459b15da70097c2b619fb01ea9 (patch) | |
| tree | 16751ce7f5325eff7137e89ed01772399a69b2b3 | |
| parent | 498a100d05666024fd0d409a27709a03e7e58dd3 (diff) | |
| download | musl-31eaad4796b9da459b15da70097c2b619fb01ea9.tar.gz | |
fix scanf bug reading literals after width-limited field
the field width limit was not being cleared before reading the
literal, causing spurious failures in scanf in cases like "%2d:"
scanning "00:".
| -rw-r--r-- | src/stdio/vfscanf.c | 1 | 
1 files changed, 1 insertions, 0 deletions
| diff --git a/src/stdio/vfscanf.c b/src/stdio/vfscanf.c index 64fa9754..61b0edb1 100644 --- 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=='%'; +			shlim(f, 0);  			c = shgetc(f);  			if (c!=*p) {  				shunget(f); | 
