summaryrefslogtreecommitdiffstats
path: root/Modules/timemodule.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2018-01-11 09:37:59 (GMT)
committerGitHub <noreply@github.com>2018-01-11 09:37:59 (GMT)
commitcb3ae5588bd7733e76dc09277bb7626652d9bb64 (patch)
tree137a100f35284a1327a8ec38052433aa21e13281 /Modules/timemodule.c
parent3948207c610e931831828d33aaef258185df31db (diff)
downloadcpython-cb3ae5588bd7733e76dc09277bb7626652d9bb64.zip
cpython-cb3ae5588bd7733e76dc09277bb7626652d9bb64.tar.gz
cpython-cb3ae5588bd7733e76dc09277bb7626652d9bb64.tar.bz2
bpo-29240: Ignore UTF-8 Mode in time module (#5148)
time.strftime() must use the current LC_CTYPE encoding, not UTF-8 if the UTF-8 mode is enabled. Add _PyUnicode_DecodeCurrentLocale() function.
Diffstat (limited to 'Modules/timemodule.c')
-rw-r--r--Modules/timemodule.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 5cae03d..4e7f9d9 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -418,11 +418,11 @@ tmtotuple(struct tm *p
SET(8, p->tm_isdst);
#ifdef HAVE_STRUCT_TM_TM_ZONE
PyStructSequence_SET_ITEM(v, 9,
- PyUnicode_DecodeLocale(p->tm_zone, "surrogateescape"));
+ _PyUnicode_DecodeCurrentLocale(p->tm_zone, "surrogateescape"));
SET(10, p->tm_gmtoff);
#else
PyStructSequence_SET_ITEM(v, 9,
- PyUnicode_DecodeLocale(zone, "surrogateescape"));
+ _PyUnicode_DecodeCurrentLocale(zone, "surrogateescape"));
PyStructSequence_SET_ITEM(v, 10, _PyLong_FromTime_t(gmtoff));
#endif /* HAVE_STRUCT_TM_TM_ZONE */
#undef SET
@@ -809,8 +809,8 @@ time_strftime(PyObject *self, PyObject *args)
#ifdef HAVE_WCSFTIME
ret = PyUnicode_FromWideChar(outbuf, buflen);
#else
- ret = PyUnicode_DecodeLocaleAndSize(outbuf, buflen,
- "surrogateescape");
+ ret = _PyUnicode_DecodeCurrentLocaleAndSize(outbuf, buflen,
+ "surrogateescape");
#endif
PyMem_Free(outbuf);
break;
@@ -1541,8 +1541,8 @@ PyInit_timezone(PyObject *m) {
PyModule_AddIntConstant(m, "altzone", timezone-3600);
#endif
PyModule_AddIntConstant(m, "daylight", daylight);
- otz0 = PyUnicode_DecodeLocale(tzname[0], "surrogateescape");
- otz1 = PyUnicode_DecodeLocale(tzname[1], "surrogateescape");
+ otz0 = _PyUnicode_DecodeCurrentLocale(tzname[0], "surrogateescape");
+ otz1 = _PyUnicode_DecodeCurrentLocale(tzname[1], "surrogateescape");
PyModule_AddObject(m, "tzname", Py_BuildValue("(NN)", otz0, otz1));
#else /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
{