]> granicus.if.org Git - python/commitdiff
Fix multiple uses of variable 'L' in _Py_dg_strtod, where one use requires an unsigne...
authorMark Dickinson <dickinsm@gmail.com>
Sat, 16 Jan 2010 18:06:17 +0000 (18:06 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Sat, 16 Jan 2010 18:06:17 +0000 (18:06 +0000)
Python/dtoa.c

index aa577f2ec2b7f7637b407c149395cb272a590194..9eb8cdba895d356757bba0c67926302d842ca7e4 100644 (file)
@@ -1345,7 +1345,8 @@ _Py_dg_strtod(const char *s00, char **se)
     const char *s, *s0, *s1;
     double aadj, aadj1;
     U aadj2, adj, rv, rv0;
-    ULong y, z, L;
+    ULong y, z, abse;
+    Long L;
     BCinfo bc;
     Bigint *bb, *bb1, *bd, *bd0, *bs, *delta;
 
@@ -1425,17 +1426,17 @@ _Py_dg_strtod(const char *s00, char **se)
             while(c == '0')
                 c = *++s;
             if (c > '0' && c <= '9') {
-                L = c - '0';
+                abse = c - '0';
                 s1 = s;
                 while((c = *++s) >= '0' && c <= '9')
-                    L = 10*L + c - '0';
-                if (s - s1 > 8 || L > MAX_ABS_EXP)
+                    abse = 10*abse + c - '0';
+                if (s - s1 > 8 || abse > MAX_ABS_EXP)
                     /* Avoid confusion from exponents
                      * so large that e might overflow.
                      */
                     e = (int)MAX_ABS_EXP; /* safe for 16 bit ints */
                 else
-                    e = (int)L;
+                    e = (int)abse;
                 if (esign)
                     e = -e;
             }