author | Stefan Teleman <stefan.teleman@oracle.com> |
Thu, 16 Feb 2012 11:49:02 -0800 | |
changeset 695 | 14430a2565d4 |
permissions | -rw-r--r-- |
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 |
} |