changeset 106440:09ffaffca750

Merge from 3.6
author Steve Dower <steve.dower@microsoft.com>
date Sat, 04 Feb 2017 17:37:00 -0800
parents 72ec2c599301 (current diff) ea4728ef5956 (diff)
children 8ccb3ad39ee4
files Modules/_io/winconsoleio.c
diffstat 1 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Modules/_io/winconsoleio.c
+++ b/Modules/_io/winconsoleio.c
@@ -86,6 +86,19 @@ char _PyIO_get_console_type(PyObject *pa
         return '\0';
     }
 
+    char m = '\0';
+    if (!_wcsicmp(decoded_wstr, L"CONIN$")) {
+        m = 'r';
+    } else if (!_wcsicmp(decoded_wstr, L"CONOUT$")) {
+        m = 'w';
+    } else if (!_wcsicmp(decoded_wstr, L"CON")) {
+        m = 'x';
+    }
+    if (m) {
+        PyMem_Free(decoded_wstr);
+        return m;
+    }
+
     DWORD length;
     wchar_t name_buf[MAX_PATH], *pname_buf = name_buf;
     
@@ -99,7 +112,6 @@ char _PyIO_get_console_type(PyObject *pa
     }
     PyMem_Free(decoded_wstr);
 
-    char m = '\0';
     if (length) {
         wchar_t *name = pname_buf;
         if (length >= 4 && name[3] == L'\\' &&