(C_STRTOD): Set LC_ALL to "C", not just LC_NUMERIC, to avoid the
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Sep 2004 17:00:24 +0000 (17:00 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Sep 2004 17:00:24 +0000 (17:00 +0000)
unlikely possibility of mixed locales screwing things up.

lib/c-strtod.c

index ae05110..c9ebb80 100644 (file)
@@ -59,19 +59,19 @@ C_STRTOD (char const *nptr, char **endptr)
 
 #else
 
-  char *saved_locale = setlocale (LC_NUMERIC, NULL);
+  char *saved_locale = setlocale (LC_ALL, NULL);
 
   if (saved_locale)
     {
       saved_locale = xstrdup (saved_locale);
-      setlocale (LC_NUMERIC, "C");
+      setlocale (LC_ALL, "C");
     }
 
   r = STRTOD (nptr, endptr);
 
   if (saved_locale)
     {
-      setlocale (LC_NUMERIC, saved_locale);
+      setlocale (LC_ALL, saved_locale);
       free (saved_locale);
     }