From a608d8b551973e17d3dfe9c1bcbb27e3aa647fa4 Mon Sep 17 00:00:00 2001 From: Hokwon Song Date: Mon, 8 Apr 2013 22:50:39 +0900 Subject: [PATCH] Revert "[N_SE-32429,32965] Forcedly set the system locale to avoid a ICU defect" This reverts commit a4c92cdc9007df9bd1e459760dbd973bfcb17b58 --- src/locales/FLcl_LocaleData.cpp | 4 ++++ src/locales/FLcl_NumberFormatterImpl.cpp | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locales/FLcl_LocaleData.cpp b/src/locales/FLcl_LocaleData.cpp index 91f1861..8c249f8 100644 --- a/src/locales/FLcl_LocaleData.cpp +++ b/src/locales/FLcl_LocaleData.cpp @@ -21,6 +21,7 @@ */ // Includes +#include #include #include #include @@ -86,14 +87,17 @@ _LocaleData::GetIcuString(const String& ospStr) String _LocaleData::GetOspString(const IcuUnicodeString& icuStr) { + setlocale(LC_ALL, "C"); int len = icuStr.length(); // get length if (len) // if icuStr is not empty { char out[len * 3 + 1]; // Create buffer of thrice the icuStr length int end = icuStr.extract(0, len, out); out[end] = 0; // icuStr.extract() converts Unicode to UTF8 + setlocale(LC_ALL, ""); return String(out); } + setlocale(LC_ALL, ""); return String(""); } diff --git a/src/locales/FLcl_NumberFormatterImpl.cpp b/src/locales/FLcl_NumberFormatterImpl.cpp index a1cb821..661899f 100644 --- a/src/locales/FLcl_NumberFormatterImpl.cpp +++ b/src/locales/FLcl_NumberFormatterImpl.cpp @@ -132,14 +132,10 @@ _NumberFormatterImpl::Format(long number, String& str, _FieldPosition pos) const result _NumberFormatterImpl::Format(double number, String& str, _FieldPosition pos) const { - /*TODO: ICU 4.8 did not replace "," by a locale. So, it returns NaN even if a number is not NaN. - We are setting and restoring a system locale to "C". - It should be removed if ICU version is up.*/ setlocale(LC_ALL, "C"); IcuUnicodeString icuStr; IcuFieldPosition icuPos = _LocaleData::GetIcuFieldPosition(pos); icuStr = __pIcuNumberFormatter->format(number, icuStr, icuPos); - setlocale(LC_ALL, ""); str = _LocaleData::GetOspString(icuStr); return E_SUCCESS; } -- 2.7.4