diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2014-02-04 12:11:18 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2014-02-04 12:11:18 (GMT) |
commit | a9b15241c6bdf8ac71f1dc598b7c01a20518b6a7 (patch) | |
tree | 4a72ac89949ce222ffcad240b450913b0351e1ad /Include | |
parent | 1ea4e4174ba4051d74aedb9bdc0c020d88e3588c (diff) | |
download | cpython-a9b15241c6bdf8ac71f1dc598b7c01a20518b6a7.zip cpython-a9b15241c6bdf8ac71f1dc598b7c01a20518b6a7.tar.gz cpython-a9b15241c6bdf8ac71f1dc598b7c01a20518b6a7.tar.bz2 |
Close #20404: blacklist non-text encodings in io.TextIOWrapper
- io.TextIOWrapper (and hence the open() builtin) now use the
internal codec marking system added for issue #19619
- also tweaked the C code to only look up the encoding once,
rather than multiple times
- the existing output type checks remain in place to deal with
unmarked third party codecs.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/codecs.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Include/codecs.h b/Include/codecs.h index 8f0014e..611964c 100644 --- a/Include/codecs.h +++ b/Include/codecs.h @@ -104,7 +104,14 @@ PyAPI_FUNC(PyObject *) PyCodec_Decode( Please note that these APIs are internal and should not be used in Python C extensions. + XXX (ncoghlan): should we make these, or something like them, public + in Python 3.5+? + */ +PyAPI_FUNC(PyObject *) _PyCodec_LookupTextEncoding( + const char *encoding, + const char *alternate_command + ); PyAPI_FUNC(PyObject *) _PyCodec_EncodeText( PyObject *object, @@ -117,6 +124,19 @@ PyAPI_FUNC(PyObject *) _PyCodec_DecodeText( const char *encoding, const char *errors ); + +/* These two aren't actually text encoding specific, but _io.TextIOWrapper + * is the only current API consumer. + */ +PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalDecoder( + PyObject *codec_info, + const char *errors + ); + +PyAPI_FUNC(PyObject *) _PyCodecInfo_GetIncrementalEncoder( + PyObject *codec_info, + const char *errors + ); #endif |