]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
If incomplete nan of inf(inity) strings are found call conv_error and not
authorUlrich Drepper <drepper@redhat.com>
Tue, 27 Nov 2001 03:24:56 +0000 (03:24 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 27 Nov 2001 03:24:56 +0000 (03:24 +0000)
input_error.

stdio-common/vfscanf.c

index 0b53d7e0b66831886dddea83154012c79fa7b3bf..b4b7d4dff1f90875ac5831fbdd1fb30ea41e0772 100644 (file)
@@ -1596,7 +1596,8 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
              if (width == 0 || inchar () == EOF)
                /* EOF is only an input error before we read any chars.  */
                conv_error ();
-             if (! ISDIGIT (c) && TOLOWER (c) != L_('i'))
+             if (! ISDIGIT (c) && TOLOWER (c) != L_('i')
+                 && TOLOWER (c) != L_('n'))
                {
 #ifdef COMPILE_WSCANF
                  if (c != decimal)
@@ -1654,12 +1655,12 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
              /* Maybe "nan".  */
              ADDW (c);
              if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('a'))
-               input_error ();
+               conv_error ();
              if (width > 0)
                --width;
              ADDW (c);
              if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('n'))
-               input_error ();
+               conv_error ();
              if (width > 0)
                --width;
              ADDW (c);
@@ -1671,12 +1672,12 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
              /* Maybe "inf" or "infinity".  */
              ADDW (c);
              if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('n'))
-               input_error ();
+               conv_error ();
              if (width > 0)
                --width;
              ADDW (c);
              if (width == 0 || inchar () == EOF || TOLOWER (c) != L_('f'))
-               input_error ();
+               conv_error ();
              if (width > 0)
                --width;
              ADDW (c);
@@ -1691,25 +1692,25 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
                      ADDW (c);
                      if (width == 0 || inchar () == EOF
                          || TOLOWER (c) != L_('n'))
-                       input_error ();
+                       conv_error ();
                      if (width > 0)
                        --width;
                      ADDW (c);
                      if (width == 0 || inchar () == EOF
                          || TOLOWER (c) != L_('i'))
-                       input_error ();
+                       conv_error ();
                      if (width > 0)
                        --width;
                      ADDW (c);
                      if (width == 0 || inchar () == EOF
                          || TOLOWER (c) != L_('t'))
-                       input_error ();
+                       conv_error ();
                      if (width > 0)
                        --width;
                      ADDW (c);
                      if (width == 0 || inchar () == EOF
                          || TOLOWER (c) != L_('y'))
-                       input_error ();
+                       conv_error ();
                      if (width > 0)
                        --width;
                      ADDW (c);