[Bug libfortran/38772] r143102 breaks error checking on floating point reads

jvdelisle at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Jan 13 04:37:00 GMT 2009



------- Comment #15 from jvdelisle at gcc dot gnu dot org  2009-01-13 04:36 -------
Here is a patch.  If the character is not a digit or a blank, we exit the loop
and skip the test for not a digit.  DUH!  (first part of patch is just an
indentation fix)

Index: read.c
===================================================================
--- read.c      (revision 143139)
+++ read.c      (working copy)
@@ -972,14 +972,14 @@ read_f (st_parameter_dt *dtp, const fnod
       while (w > 0)
         {
           if (*p != ' ')
-         goto bad_float;
+           goto bad_float;
           p++;
           w--;
         }
     }    
   else  /* BZ or BN status is enabled */
     {
-      while (w > 0 && (isdigit (*p) || *p == ' '))
+      while (w > 0)
         {
           if (*p == ' ')
             {


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38772



More information about the Gcc-bugs mailing list