Sfoglia il codice sorgente

KWSys 2016-10-23 (b630d2f5)

Code extracted from:

    http://public.kitware.com/KWSys.git

at commit b630d2f5575be7d70c214bfffc57aaf5069c6369 (master).

Upstream Shortlog
-----------------

Dāvis Mosāns (1):
      b630d2f5 ConsoleBuf: Check for actual console with GetConsoleMode
KWSys Upstream 9 anni fa
parent
commit
53862f04a0
1 ha cambiato i file con 12 aggiunte e 4 eliminazioni
  1. 12 4
      ConsoleBuf.hxx.in

+ 12 - 4
ConsoleBuf.hxx.in

@@ -239,8 +239,12 @@ namespace @KWSYS_NAMESPACE@
             m_activeInputCodepage = input_file_codepage;
             break;
           case FILE_TYPE_CHAR:
-            m_isConsoleInput = true;
-            break;
+            // Check for actual console.
+            DWORD consoleMode;
+            m_isConsoleInput = GetConsoleMode(m_hInput, &consoleMode) == 0 ? false : true;
+            if (m_isConsoleInput) {
+              break;
+            }
           case FILE_TYPE_PIPE:
             m_activeInputCodepage = input_pipe_codepage;
             break;
@@ -259,8 +263,12 @@ namespace @KWSYS_NAMESPACE@
             m_activeOutputCodepage = output_file_codepage;
             break;
           case FILE_TYPE_CHAR:
-            m_isConsoleOutput = true;
-            break;
+            // Check for actual console.
+            DWORD consoleMode;
+            m_isConsoleOutput = GetConsoleMode(m_hOutput, &consoleMode) == 0 ? false : true;
+            if (m_isConsoleOutput) {
+              break;
+            }
           case FILE_TYPE_PIPE:
             m_activeOutputCodepage = output_pipe_codepage;
             break;