diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2005-01-01 22:29:26 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2005-01-01 22:29:26 +0000 |
commit | a01aade75df50eb00c5d0be03594757f9abb3709 (patch) | |
tree | ac8fedb23f7c8f355b710c0015062d6122d456b3 | |
parent | 7109ce8258800f6136a556e0a076c22b432948d4 (diff) |
Add functions for determining if the stdin/out/err is connected to a
console or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19233 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/System/Process.h | 15 | ||||
-rw-r--r-- | lib/System/Unix/Process.cpp | 24 | ||||
-rw-r--r-- | lib/System/Unix/Process.inc | 24 |
3 files changed, 63 insertions, 0 deletions
diff --git a/include/llvm/System/Process.h b/include/llvm/System/Process.h index 7733cf5f65..5070bbe404 100644 --- a/include/llvm/System/Process.h +++ b/include/llvm/System/Process.h @@ -69,6 +69,21 @@ namespace sys { /// @brief Prevent core file generation. static void PreventCoreFiles(); + /// This function determines if the standard input is connected directly + /// to a user's input (keyboard probably), rather than coming from a file + /// or pipe. + static bool StandardInIsUserInput(); + + /// This function determines if the standard output is connected to a + /// "tty" or "console" window. That is, the output would be displayed to + /// the user rather than being put on a pipe or stored in a file. + static bool StandardOutIsDisplayed(); + + /// This function determines if the standard error is connected to a + /// "tty" or "console" window. That is, the output would be displayed to + /// the user rather than being put on a pipe or stored in a file. + static bool StandardErrIsDisplayed(); + /// @} }; } diff --git a/lib/System/Unix/Process.cpp b/lib/System/Unix/Process.cpp index c1448de8d4..cccd3ffcb6 100644 --- a/lib/System/Unix/Process.cpp +++ b/lib/System/Unix/Process.cpp @@ -122,5 +122,29 @@ void Process::PreventCoreFiles() { #endif } +bool Process::StandardInIsUserInput() { +#if HAVE_ISATTY + return isatty(0); +#endif + // If we don't have isatty, just return false. + return false; +} + +bool Process::StandardOutIsDisplayed() { +#if HAVE_ISATTY + return isatty(1); +#endif + // If we don't have isatty, just return false. + return false; +} + +bool Process::StandardErrIsDisplayed() { +#if HAVE_ISATTY + return isatty(2); +#endif + // If we don't have isatty, just return false. + return false; +} + } // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/Unix/Process.inc b/lib/System/Unix/Process.inc index c1448de8d4..cccd3ffcb6 100644 --- a/lib/System/Unix/Process.inc +++ b/lib/System/Unix/Process.inc @@ -122,5 +122,29 @@ void Process::PreventCoreFiles() { #endif } +bool Process::StandardInIsUserInput() { +#if HAVE_ISATTY + return isatty(0); +#endif + // If we don't have isatty, just return false. + return false; +} + +bool Process::StandardOutIsDisplayed() { +#if HAVE_ISATTY + return isatty(1); +#endif + // If we don't have isatty, just return false. + return false; +} + +bool Process::StandardErrIsDisplayed() { +#if HAVE_ISATTY + return isatty(2); +#endif + // If we don't have isatty, just return false. + return false; +} + } // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab |