diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-08-29 20:21:32 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-29 20:21:32 (GMT) |
commit | 3d4226a832cabc630402589cc671cc4035d504e5 (patch) | |
tree | a1c5b1c51cbbca3aedd52593c979a5c15d72dd52 /Objects/stringlib | |
parent | c5989cd87659acbfd4d19dc00dbe99c3a0fc9bd2 (diff) | |
download | cpython-3d4226a832cabc630402589cc671cc4035d504e5.zip cpython-3d4226a832cabc630402589cc671cc4035d504e5.tar.gz cpython-3d4226a832cabc630402589cc671cc4035d504e5.tar.bz2 |
bpo-34523: Support surrogatepass in locale codecs (GH-8995)
Add support for the "surrogatepass" error handler in
PyUnicode_DecodeFSDefault() and PyUnicode_EncodeFSDefault()
for the UTF-8 encoding.
Changes:
* _Py_DecodeUTF8Ex() and _Py_EncodeUTF8Ex() now support the
surrogatepass error handler (_Py_ERROR_SURROGATEPASS).
* _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx() now use
the _Py_error_handler enum instead of "int surrogateescape" to pass
the error handler. These functions now return -3 if the error
handler is unknown.
* Add unit tests on _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx()
in test_codecs.
* Rename get_error_handler() to _Py_GetErrorHandler() and expose it
as a private function.
* _freeze_importlib doesn't need config.filesystem_errors="strict"
workaround anymore.
Diffstat (limited to 'Objects/stringlib')
-rw-r--r-- | Objects/stringlib/codecs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Objects/stringlib/codecs.h b/Objects/stringlib/codecs.h index f019d9a..0abb4c8 100644 --- a/Objects/stringlib/codecs.h +++ b/Objects/stringlib/codecs.h @@ -313,7 +313,7 @@ STRINGLIB(utf8_encoder)(PyObject *unicode, Py_ssize_t startpos, endpos, newpos; Py_ssize_t k; if (error_handler == _Py_ERROR_UNKNOWN) { - error_handler = get_error_handler(errors); + error_handler = _Py_GetErrorHandler(errors); } startpos = i-1; |