mirror of
https://github.com/json-c/json-c.git
synced 2026-03-20 13:39:06 +08:00
Issue #463: fix newlocale() call to use LC_NUMERIC_MASK instead of LC_NUMERIC, and remove incorrect comment.
The second call to newlocale() with LC_TIME accidentally made things work because LC_TIME == LC_NUMERIC_MASK on some platforms.
This commit is contained in:
@@ -265,14 +265,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
|
||||
#ifdef HAVE_USELOCALE
|
||||
{
|
||||
locale_t duploc = duplocale(oldlocale);
|
||||
newloc = newlocale(LC_NUMERIC, "C", duploc);
|
||||
// XXX at least Debian 8.4 has a bug in newlocale where it doesn't
|
||||
// change the decimal separator unless you set LC_TIME!
|
||||
if (newloc)
|
||||
{
|
||||
duploc = newloc; // original duploc has been freed by newlocale()
|
||||
newloc = newlocale(LC_TIME, "C", duploc);
|
||||
}
|
||||
newloc = newlocale(LC_NUMERIC_MASK, "C", duploc);
|
||||
if (newloc == NULL)
|
||||
{
|
||||
freelocale(duploc);
|
||||
|
||||
Reference in New Issue
Block a user