diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-08-29 09:47:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-29 09:47:29 (GMT) |
commit | dfe0dc74536dfb6f331131d9b2b49557675bb6b7 (patch) | |
tree | 485dd3b5ddce8e6c2d7ebbd6d113e1c5ee6f3707 /Include | |
parent | 177d921c8c03d30daa32994362023f777624b10d (diff) | |
download | cpython-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.h | 12 | ||||
-rw-r--r-- | Include/pylifecycle.h | 3 |
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 } |