#include <FWebJsonJsonObject.h>
#include <FWebJsonJsonParser.h>
#include <FWebJsonJsonString.h>
+#include <FBase_StringConverter.h>
#include "FWebJson_JsonParserImpl.h"
#include "FWebJson_JsonUtils.h"
SysTryReturn(NID_WEB_JSON, created, null, E_INVALID_DATA, "[E_INVALID_DATA] Input data malformed [%c] at [%d]", __pJsonData[__parserPosition], __parserPosition);
- double number = 0.0;
- JsonNumber* pJsonNumber = null;
+ std::unique_ptr<char[]> pNumber(Tizen::Base::_StringConverter::CopyToCharArrayN(numString));
+ SysTryReturn(NID_WEB_JSON, pNumber.get(), null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+ double number = atof(pNumber.get());
- result r = Double::Parse(numString, number);
- SysTryReturn(NID_WEB_JSON, r == E_SUCCESS, null, r, "[%s] parse double from string failed", GetErrorMessage(r));
-
- pJsonNumber = new (std::nothrow) JsonNumber(number);
+ JsonNumber* pJsonNumber = new (std::nothrow) JsonNumber(number);
SysTryReturn(NID_WEB_JSON, pJsonNumber, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
return pJsonNumber;