components/gcc3/patches/7133639.patch
author Stefan Teleman <stefan.teleman@oracle.com>
Thu, 16 Feb 2012 11:49:02 -0800
changeset 695 14430a2565d4
permissions -rw-r--r--
7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
695
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
--- gcc-3.4.3/libstdc++-v3/config/locale/generic/c_locale.h	Mon Aug 16 09:03:24 2004
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
+++ gcc-3.4.3/libstdc++-v3/config/locale/generic/c_locale.h	Mon Jan 30 09:50:48 2012
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
@@ -59,10 +59,14 @@
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
 		     const char* __fmt,
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
 		     _Tv __v, const __c_locale&, int __prec)
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
     {
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
-      char* __old = std::setlocale(LC_ALL, NULL);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
-      char* __sav = new char[std::strlen(__old) + 1];
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
+      char* __old = std::setlocale(LC_NUMERIC, NULL);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
+      char* __sav = NULL;
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
+      if (std::strcmp(__old, "C"))
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
+	{
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
+	  __sav = new char[std::strlen(__old) + 1];
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
       std::strcpy(__sav, __old);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
-      std::setlocale(LC_ALL, "C");
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
+	  std::setlocale(LC_NUMERIC, "C");
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
+	}
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
 
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
 #ifdef _GLIBCXX_USE_C99
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
       const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
@@ -69,8 +73,12 @@
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
 #else
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
       const int __ret = std::sprintf(__out, __fmt, __prec, __v);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
 #endif
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
-      std::setlocale(LC_ALL, __sav);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    26
+      
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    27
+      if (__sav)
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    28
+	{
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    29
+	  std::setlocale(LC_NUMERIC, __sav);
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    30
       delete [] __sav;
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    31
+	}
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    32
       return __ret;
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    33
     }
14430a2565d4 7133639 integrate [Patch] libstdc++/19642 in our bundled gcc (3.4.3) in c++locale.h
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    34
 }