Bug #920575: Add a workaround for GNU libc nl_langinfo()'s returning NULL.
(Reported by Matthias Klose)
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 2cfda88..5edb7f3 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -592,8 +592,12 @@
     }
 #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;
 }