gcc-6: use $(GNU_ARCH) in manifest
[unleashed-userland.git] / components / developer / gcc3 / patches / 7133639.patch
blob696334332f1af822ee0ccea81c4467adadd4b31a
1 --- gcc-3.4.3/libstdc++-v3/config/locale/generic/c_locale.h Mon Aug 16 09:03:24 2004
2 +++ gcc-3.4.3/libstdc++-v3/config/locale/generic/c_locale.h Mon Jan 30 09:50:48 2012
3 @@ -59,10 +59,14 @@
4 const char* __fmt,
5 _Tv __v, const __c_locale&, int __prec)
7 - char* __old = std::setlocale(LC_ALL, NULL);
8 - char* __sav = new char[std::strlen(__old) + 1];
9 + char* __old = std::setlocale(LC_NUMERIC, NULL);
10 + char* __sav = NULL;
11 + if (std::strcmp(__old, "C"))
12 + {
13 + __sav = new char[std::strlen(__old) + 1];
14 std::strcpy(__sav, __old);
15 - std::setlocale(LC_ALL, "C");
16 + std::setlocale(LC_NUMERIC, "C");
17 + }
19 #ifdef _GLIBCXX_USE_C99
20 const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
21 @@ -69,8 +73,12 @@
22 #else
23 const int __ret = std::sprintf(__out, __fmt, __prec, __v);
24 #endif
25 - std::setlocale(LC_ALL, __sav);
27 + if (__sav)
28 + {
29 + std::setlocale(LC_NUMERIC, __sav);
30 delete [] __sav;
31 + }
32 return __ret;