---- gdtoa-gethex.c.orig 2005-02-17 01:16:50.000000000 -0800
-+++ gdtoa-gethex.c 2005-02-17 01:27:10.000000000 -0800
-@@ -29,6 +29,8 @@
+--- gdtoa-gethex.c.orig 2008-10-28 11:14:40.000000000 -0700
++++ gdtoa-gethex.c 2008-10-28 11:20:32.000000000 -0700
+@@ -29,6 +29,8 @@ THIS SOFTWARE.
/* Please send bug reports to David M. Gay (dmg at acm dot org,
* with " at " changed at "@" and " dot " changed to "."). */
#include "gdtoaimp.h"
#ifdef USE_LOCALE
-@@ -37,10 +39,10 @@
+@@ -37,10 +39,10 @@ THIS SOFTWARE.
int
#ifdef KR_headers
#endif
{
Bigint *b;
-@@ -49,7 +51,10 @@
- ULong L, lostbits, *x;
+@@ -50,13 +52,14 @@ gethex( CONST char **sp, FPI *fpi, Long
Long e, e1;
#ifdef USE_LOCALE
-- unsigned char decimalpoint = *localeconv()->decimal_point;
-+ unsigned char decimalpoint;
-+
+ int i;
+ NORMALIZE_LOCALE(loc);
-+ decimalpoint = *localeconv_l(loc)->decimal_point;
+ #ifdef NO_LOCALE_CACHE
+- const unsigned char *decimalpoint = (unsigned char*)localeconv()->decimal_point;
++ const unsigned char *decimalpoint = (unsigned char*)localeconv_l(loc)->decimal_point;
#else
- #define decimalpoint '.'
- #endif
+ const unsigned char *decimalpoint;
+ static unsigned char *decimalpoint_cache;
+ if (!(s0 = decimalpoint_cache)) {
+- s0 = (unsigned char*)localeconv()->decimal_point;
++ s0 = (unsigned char*)localeconv_l(loc)->decimal_point;
+ if ((decimalpoint_cache = (char*)malloc(strlen(s0) + 1))) {
+ strcpy(decimalpoint_cache, s0);
+ s0 = decimalpoint_cache;