(C_STRTOD) [!defined LC_ALL_MASK]: Set LC_ALL to "C",
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Sep 2004 17:16:57 +0000 (17:16 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Sep 2004 17:16:57 +0000 (17:16 +0000)
not just LC_NUMERIC, to avoid the unlikely possibility of mixed
locales screwing things up.  This removes an inconsistency with
the LC_ALL_MASK case.

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);
     }