Update historical dst offset for timezone.
[platform/framework/native/appfw.git] / src / locales / FLcl_NumberFormatterImpl.cpp
index 661899f..a8f606f 100644 (file)
@@ -1,5 +1,4 @@
 //
-// Open Service Platform
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
@@ -21,7 +20,6 @@
  */
 #include <unique_ptr.h>
 #include <unicode/decimfmt.h>
-#include <locale.h>
 
 #include <FBaseSysLog.h>
 #include <FLclNumberFormatter.h>
@@ -84,23 +82,18 @@ _NumberFormatterImpl::CreateNumberFormatterN(const Locale& locale, NumberFormatt
 
        UErrorCode ec = U_ZERO_ERROR;
        std::unique_ptr<IcuNumberFormat> pIcuNumberFormatter(IcuNumberFormat::createInstance(icuLocale, icuStyle, ec));
-       if (pIcuNumberFormatter)
-       {
-               IcuDecimalFormat* pDecimalFmt = dynamic_cast<IcuDecimalFormat*>(pIcuNumberFormatter.get());
-               if (pDecimalFmt)
-               {
-                       pIcuNumberFormatter.release();
-                       pNumberFormatterImpl->__pIcuNumberFormatter = pDecimalFmt;
-                       pNumberFormatterImpl->__currency.Construct(locale);
-                       pNewFormatter->__pNumberFormatterImpl = pNumberFormatterImpl.release();
+       SysTryReturn(NID_LCL, pIcuNumberFormatter, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed");
 
-                       SetLastResult(E_SUCCESS);
-                       return pNewFormatter.release();
-               }
-       }
+       IcuDecimalFormat* pDecimalFmt = dynamic_cast<IcuDecimalFormat*>(pIcuNumberFormatter.get());
+       SysTryReturn(NID_LCL, pDecimalFmt, null, E_SYSTEM, "It is failed to get fomatter.");
+
+       pIcuNumberFormatter.release();
+       pNumberFormatterImpl->__pIcuNumberFormatter = pDecimalFmt;
+       pNumberFormatterImpl->__currency.Construct(locale);
+       pNewFormatter->__pNumberFormatterImpl = pNumberFormatterImpl.release();
 
-       SetLastResult(E_INVALID_ARG);
-       return null;
+       SetLastResult(E_SUCCESS);
+       return pNewFormatter.release();
 }
 
 result
@@ -132,7 +125,6 @@ _NumberFormatterImpl::Format(long number, String& str, _FieldPosition pos) const
 result
 _NumberFormatterImpl::Format(double number, String& str, _FieldPosition pos) const
 {
-       setlocale(LC_ALL, "C");
        IcuUnicodeString icuStr;
        IcuFieldPosition icuPos = _LocaleData::GetIcuFieldPosition(pos);
        icuStr = __pIcuNumberFormatter->format(number, icuStr, icuPos);