Merge "Change error condition of ToDouble()&ToFloat()" into tizen_2.2
authordahyeong.kim <dahyeong.kim@samsung.com>
Thu, 13 Jun 2013 10:50:15 +0000 (10:50 +0000)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Thu, 13 Jun 2013 10:50:15 +0000 (10:50 +0000)
src/base/FBase_LocalizedNumParser.cpp

index bdcf7ec..34b43b2 100644 (file)
@@ -76,7 +76,7 @@ _LocalizedNumParser::ToDouble(const String& str, const char* pLocale)
        double ret = wcstod(str.GetPointer(), &pEnd);
        SysTryReturn(NID_BASE, !(ret == 0 && errno == EINVAL) && (pEnd[0] == 0), std::numeric_limits< double >::quiet_NaN(),
                E_NUM_FORMAT, "[%s] wcstod() failed. Scan stopped at (%ls)", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, errno == 0 && ret != HUGE_VAL && ret != -HUGE_VAL, std::numeric_limits< double >::quiet_NaN(),
+       SysTryReturn(NID_BASE, errno == 0 || (ret != HUGE_VAL && ret != -HUGE_VAL), std::numeric_limits< double >::quiet_NaN(),
                E_NUM_FORMAT, "[%s] Parsed value cannot fit into a Double.", GetErrorMessage(E_NUM_FORMAT));
 
        return ret;
@@ -97,7 +97,7 @@ _LocalizedNumParser::ToFloat(const String& str, const char* pLocale)
        float ret = wcstof(str.GetPointer(), &pEnd);
        SysTryReturn(NID_BASE, !(ret == 0 && errno == EINVAL) && pEnd[0] == 0, std::numeric_limits< float >::quiet_NaN(),
                E_NUM_FORMAT, "[%s] wcstof() failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, errno == 0 && ret != HUGE_VAL && ret != -HUGE_VAL, std::numeric_limits< float >::quiet_NaN(),
+       SysTryReturn(NID_BASE, errno == 0 || (ret != HUGE_VAL && ret != -HUGE_VAL), std::numeric_limits< float >::quiet_NaN(),
                E_NUM_FORMAT, "[%s] Parsed value cannot fit into a Float.", GetErrorMessage(E_NUM_FORMAT));
 
        return ret;