[Bug] Decimal values fails to parse properly when locale of device
was e.g. Deutsch
[Verification]
//Below code works well for locales: English, Deutsch, Francais
// sound values are changing and show aproximately same values
// (depending on platform adjustments)
tizen.sound.setVolume("MEDIA", 0.1);
console.log(tizen.sound.getVolume("MEDIA"))
>> 0.13
Change-Id: Icde211bcfcc66cf0d66852816d2a00907adf4571
std::string err;
picojson::parse(value, msg, msg + strlen(msg), &err);
if (!err.empty()) {
- LoggerE("Ignoring message, error: %s", err.c_str());
+ LoggerE("Ignoring message:\"%s\", error: %s", msg, err.c_str());
return;
}
}
}
#endif
- f = strtod(num_str.c_str(), &endp);
+ locale_t loc = newlocale(LC_NUMERIC_MASK, "C", (locale_t) 0);
+ f = strtod_l(num_str.c_str(), &endp, loc);
+ freelocale(loc);
if (endp == num_str.c_str() + num_str.size()) {
ctx.set_number(f);
return true;