From: Reid Spencer Date: Sat, 1 Jan 2005 22:29:26 +0000 (+0000) Subject: Add functions for determining if the stdin/out/err is connected to a X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a01aade75df50eb00c5d0be03594757f9abb3709;p=oota-llvm.git 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 --- diff --git a/include/llvm/System/Process.h b/include/llvm/System/Process.h index 7733cf5f656..5070bbe4047 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 c1448de8d40..cccd3ffcb67 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 c1448de8d40..cccd3ffcb67 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