summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2014-02-04 12:11:18 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2014-02-04 12:11:18 (GMT)
commita9b15241c6bdf8ac71f1dc598b7c01a20518b6a7 (patch)
tree4a72ac89949ce222ffcad240b450913b0351e1ad /Include
parent1ea4e4174ba4051d74aedb9bdc0c020d88e3588c (diff)
downloadcpython-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.h20
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