OSDN Git Service

* mingwex/strtold.c (__asctoe64): Set endptr to 'e' if exponent
authordannysmith <dannysmith>
Tue, 1 Feb 2005 03:51:18 +0000 (03:51 +0000)
committerdannysmith <dannysmith>
Tue, 1 Feb 2005 03:51:18 +0000 (03:51 +0000)
string is not valid.

winsup/mingw/ChangeLog
winsup/mingw/mingwex/strtold.c

index 8c10559..b4010be 100644 (file)
@@ -1,3 +1,8 @@
+2005-02-01  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * mingwex/strtold.c (__asctoe64): Set endptr to 'e' if exponent
+       string is not valid.
+
 2005-01-26  Oliver Stoeneberg  <oliverst@online.de>
 
        * include/malloc.h: Add missing return code defines for
index 954d3cb..3bbcea0 100644 (file)
@@ -255,6 +255,8 @@ expnt:
 
 esign = 1;
 exp = 0;
+/* Save position in case we need to fall back.  */
+sp = s;
 ++s;
 /* check for + or - */
 if( *s == '-' )
@@ -265,6 +267,13 @@ if( *s == '-' )
 if( *s == '+' )
        ++s;
 
+/* Check for valid exponent.  */
+if (!(*s >= '0' && *s <= '9'))
+  {
+    s = sp;
+    goto daldone;
+  }
+
 while( (*s >= '0') && (*s <= '9') )
 {
   /* Stop modifying exp if we are going to overflow anyway,