summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-08-29 09:47:29 (GMT)
committerGitHub <noreply@github.com>2018-08-29 09:47:29 (GMT)
commitdfe0dc74536dfb6f331131d9b2b49557675bb6b7 (patch)
tree485dd3b5ddce8e6c2d7ebbd6d113e1c5ee6f3707 /Include
parent177d921c8c03d30daa32994362023f777624b10d (diff)
downloadcpython-dfe0dc74536dfb6f331131d9b2b49557675bb6b7.zip
cpython-dfe0dc74536dfb6f331131d9b2b49557675bb6b7.tar.gz
cpython-dfe0dc74536dfb6f331131d9b2b49557675bb6b7.tar.bz2
bpo-34485: Add _PyCoreConfig.stdio_encoding (GH-8881)
* Add stdio_encoding and stdio_errors fields to _PyCoreConfig. * Add unit tests on stdio_encoding and stdio_errors.
Diffstat (limited to 'Include')
-rw-r--r--Include/coreconfig.h12
-rw-r--r--Include/pylifecycle.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/Include/coreconfig.h b/Include/coreconfig.h
index b279907..ffba306 100644
--- a/Include/coreconfig.h
+++ b/Include/coreconfig.h
@@ -203,6 +203,18 @@ typedef struct {
If set to -1 (default), it is set to !Py_UnbufferedStdioFlag. */
int buffered_stdio;
+ /* Encoding of sys.stdin, sys.stdout and sys.stderr.
+ Value set from PYTHONIOENCODING environment variable and
+ Py_SetStandardStreamEncoding() function.
+ See also 'stdio_errors' attribute. */
+ char *stdio_encoding;
+
+ /* Error handler of sys.stdin and sys.stdout.
+ Value set from PYTHONIOENCODING environment variable and
+ Py_SetStandardStreamEncoding() function.
+ See also 'stdio_encoding' attribute. */
+ char *stdio_errors;
+
#ifdef MS_WINDOWS
/* If greater than 1, use the "mbcs" encoding instead of the UTF-8
encoding for the filesystem encoding.
diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h
index 2029827..b96db1e 100644
--- a/Include/pylifecycle.h
+++ b/Include/pylifecycle.h
@@ -179,6 +179,9 @@ PyAPI_FUNC(void) _Py_CoerceLegacyLocale(const _PyCoreConfig *config);
PyAPI_FUNC(int) _Py_LegacyLocaleDetected(void);
PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category);
#endif
+#ifdef Py_BUILD_CORE
+PyAPI_FUNC(int) _Py_IsLocaleCoercionTarget(const char *ctype_loc);
+#endif
#ifdef __cplusplus
}