Add functions for determining if the stdin/out/err is connected to a
authorJeff Cohen <jeffc@jolt-lang.org>
Sat, 1 Jan 2005 22:54:05 +0000 (22:54 +0000)
committerJeff Cohen <jeffc@jolt-lang.org>
Sat, 1 Jan 2005 22:54:05 +0000 (22:54 +0000)
console or not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19236 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Win32/Process.cpp
lib/System/Win32/Process.inc

index 10fec05cb3d2d951f8e4eb9050bf15c0fe6a00c8..dc4664109dee96ff01adbc31ede0406502c5d31f 100644 (file)
@@ -14,6 +14,7 @@
 #include "Win32.h"
 #include <psapi.h>
 #include <malloc.h>
+#include <io.h>
 
 #pragma comment(lib, "psapi.lib")
 
@@ -99,5 +100,17 @@ void Process::PreventCoreFiles() {
   // dialog box from coming up.  Or maybe not...
 }
 
+bool Process::StandardInIsUserInput() {
+  return GetFileType((HANDLE)_get_osfhandle(0)) == FILE_TYPE_CHAR;
+}
+
+bool Process::StandardOutIsDisplayed() {
+  return GetFileType((HANDLE)_get_osfhandle(1)) == FILE_TYPE_CHAR;
+}
+
+bool Process::StandardErrIsDisplayed() {
+  return GetFileType((HANDLE)_get_osfhandle(2)) == FILE_TYPE_CHAR;
+}
+
 }
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
index 10fec05cb3d2d951f8e4eb9050bf15c0fe6a00c8..dc4664109dee96ff01adbc31ede0406502c5d31f 100644 (file)
@@ -14,6 +14,7 @@
 #include "Win32.h"
 #include <psapi.h>
 #include <malloc.h>
+#include <io.h>
 
 #pragma comment(lib, "psapi.lib")
 
@@ -99,5 +100,17 @@ void Process::PreventCoreFiles() {
   // dialog box from coming up.  Or maybe not...
 }
 
+bool Process::StandardInIsUserInput() {
+  return GetFileType((HANDLE)_get_osfhandle(0)) == FILE_TYPE_CHAR;
+}
+
+bool Process::StandardOutIsDisplayed() {
+  return GetFileType((HANDLE)_get_osfhandle(1)) == FILE_TYPE_CHAR;
+}
+
+bool Process::StandardErrIsDisplayed() {
+  return GetFileType((HANDLE)_get_osfhandle(2)) == FILE_TYPE_CHAR;
+}
+
 }
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab