On Windows, PyOS_StdioReadline() now gets
PyConfig.legacy_windows_stdio from _PyOS_ReadlineTState, rather than
using the deprecated global Py_LegacyWindowsStdioFlag variable.
Fix also a compiler warning in Py_SetStandardStreamEncoding().
assert(tstate != NULL);
#ifdef MS_WINDOWS
- if (!Py_LegacyWindowsStdioFlag && sys_stdin == stdin) {
+ const PyConfig *config = _PyInterpreterState_GetConfig(tstate->interp);
+ if (!config->legacy_windows_stdio && sys_stdin == stdin) {
HANDLE hStdIn, hStdErr;
hStdIn = _Py_get_osfhandle_noraise(fileno(sys_stdin));
}
#ifdef MS_WINDOWS
if (_Py_StandardStreamEncoding) {
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
/* Overriding the stream encoding implies legacy streams */
Py_LegacyWindowsStdioFlag = 1;
+_Py_COMP_DIAG_POP
}
#endif