diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-08-28 21:26:33 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-28 21:26:33 (GMT) |
commit | 9e4994d410970fb4e75168401d159ba47a8f7108 (patch) | |
tree | 31eb67e89ade21902bfe925d353f650ae95fb5d8 /Modules | |
parent | d500e5307aec9c5d535f66d567fadb9c587a9a36 (diff) | |
download | cpython-9e4994d410970fb4e75168401d159ba47a8f7108.zip cpython-9e4994d410970fb4e75168401d159ba47a8f7108.tar.gz cpython-9e4994d410970fb4e75168401d159ba47a8f7108.tar.bz2 |
bpo-34485: Enhance init_sys_streams() (GH-8978)
Python now gets the locale encoding with C code to initialize the encoding
of standard streams like sys.stdout. Moreover, the encoding is now
initialized to the Python codec name to get a normalized encoding name and
to ensure that the codec is loaded. The change avoids importing
_bootlocale and _locale modules at startup by default.
When the PYTHONIOENCODING environment variable only contains an encoding,
the error handler is now is now set explicitly to "strict".
Rename also get_default_standard_stream_error_handler() to
get_stdio_errors().
Reduce the buffer to format the "cpXXX" string (Windows locale encoding).
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_localemodule.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 524886d..3fdbc5e 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -319,7 +319,7 @@ exit: static PyObject* PyLocale_getdefaultlocale(PyObject* self, PyObject *Py_UNUSED(ignored)) { - char encoding[100]; + char encoding[20]; char locale[100]; PyOS_snprintf(encoding, sizeof(encoding), "cp%d", GetACP()); |