diff options
author | Victor Stinner <vstinner@python.org> | 2022-05-24 22:09:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-24 22:09:48 (GMT) |
commit | 32b7bcffba0e6f6c96d70cafbae1488c6bc36cbc (patch) | |
tree | 06c3c684b8b7bf7449be55d8b7f8f856cc74f99d /Python/fileutils.c | |
parent | c7667a2d353cebb0287d29a3ead29b2107425b96 (diff) | |
download | cpython-32b7bcffba0e6f6c96d70cafbae1488c6bc36cbc.zip cpython-32b7bcffba0e6f6c96d70cafbae1488c6bc36cbc.tar.gz cpython-32b7bcffba0e6f6c96d70cafbae1488c6bc36cbc.tar.bz2 |
gh-93103: Py_DecodeLocale() uses _PyRuntime.preconfig (#93187)
The Py_DecodeLocale() and Py_EncodeLocale() now use
_PyRuntime.preconfig, rather than Py_UTF8Mode and
Py_LegacyWindowsFSEncodingFlag global configuration varibles, to
decide if the UTF-8 encoding is used or not.
As documented, these functions must not be called before Python is
preinitialized. The new PyConfig API should now be used, rather than
using deprecated functions like Py_SetPath() or PySys_SetArgv().
Diffstat (limited to 'Python/fileutils.c')
-rw-r--r-- | Python/fileutils.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Python/fileutils.c b/Python/fileutils.c index a38886a..7e5d01f 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -603,9 +603,9 @@ _Py_DecodeLocaleEx(const char* arg, wchar_t **wstr, size_t *wlen, return _Py_DecodeUTF8Ex(arg, strlen(arg), wstr, wlen, reason, errors); #else - int use_utf8 = (Py_UTF8Mode == 1); + int use_utf8 = (_PyRuntime.preconfig.utf8_mode >= 1); #ifdef MS_WINDOWS - use_utf8 |= !Py_LegacyWindowsFSEncodingFlag; + use_utf8 |= (_PyRuntime.preconfig.legacy_windows_fs_encoding == 0); #endif if (use_utf8) { return _Py_DecodeUTF8Ex(arg, strlen(arg), wstr, wlen, reason, @@ -795,9 +795,9 @@ encode_locale_ex(const wchar_t *text, char **str, size_t *error_pos, return _Py_EncodeUTF8Ex(text, str, error_pos, reason, raw_malloc, errors); #else - int use_utf8 = (Py_UTF8Mode == 1); + int use_utf8 = (_PyRuntime.preconfig.utf8_mode >= 1); #ifdef MS_WINDOWS - use_utf8 |= !Py_LegacyWindowsFSEncodingFlag; + use_utf8 |= (_PyRuntime.preconfig.legacy_windows_fs_encoding == 0); #endif if (use_utf8) { return _Py_EncodeUTF8Ex(text, str, error_pos, reason, |