]> git.saurik.com Git - apple/libc.git/blobdiff - gdtoa/FreeBSD/gdtoa-gethex.c.patch
Libc-583.tar.gz
[apple/libc.git] / gdtoa / FreeBSD / gdtoa-gethex.c.patch
index 05f7d60dca4376be542dbccc9bdb460b1a2df426..d83e41ff7af88abfeec2dfe79e40cddbb08a4f08 100644 (file)
@@ -1,6 +1,6 @@
---- 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 ".").    */
  
@@ -9,7 +9,7 @@
  #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;