OSDN Git Service

Patch from Tero_Lyytik�inen <tero@paravant.fi> to fix bug in matchchar
authorManuel Novoa III <mjn3@codepoet.org>
Fri, 6 Sep 2002 15:34:42 +0000 (15:34 -0000)
committerManuel Novoa III <mjn3@codepoet.org>
Fri, 6 Sep 2002 15:34:42 +0000 (15:34 -0000)
case.

libc/stdio/scanf.c

index 7ebde12..7c316cd 100644 (file)
@@ -29,6 +29,9 @@
  *
  * So uClibc's *scanf functions conform to the standard, and glibc's
  * implementation doesn't for the "100ergs" case mentioned above.
+ *
+ * Sep 6, 2002
+ * Patch from Tero_Lyytikäinen <tero@paravant.fi> to fix bug in matchchar case.
  */
 
 #define _ISOC99_SOURCE                 /* for LLONG_MAX primarily... */
@@ -581,6 +584,7 @@ int vfscanf(FILE *fp, const char *format, va_list ap)
                } else {                                /* Match the current fmt char. */
                matchchar:
                        if (scan_getc_nw(&sc) != *fmt) {
+                               scan_ungetc(&sc);
                                goto done;
                        }
                        scan_getc_nw(&sc);