Bug #920575: Add a workaround for GNU libc nl_langinfo()'s returning NULL.

(Reported by Matthias Klose)
This commit is contained in:
Hye-Shik Chang 2004-03-21 19:34:30 +00:00
parent 56d7913bae
commit c3a87b8dbb
2 changed files with 9 additions and 2 deletions

View file

@ -592,8 +592,12 @@ PyLocale_nl_langinfo(PyObject* self, PyObject* args)
}
#endif
for (i = 0; langinfo_constants[i].name; i++)
if (langinfo_constants[i].value == item)
return PyString_FromString(nl_langinfo(item));
if (langinfo_constants[i].value == item) {
/* Check NULL as a workaround for GNU libc's returning NULL
instead of an empty string for nl_langinfo(ERA). */
const char *result = nl_langinfo(item);
return PyString_FromString(result != NULL ? result : "");
}
PyErr_SetString(PyExc_ValueError, "unsupported langinfo constant");
return NULL;
}