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
This commit is contained in:
Reid Spencer 2005-01-01 22:29:26 +00:00
parent 7109ce8258
commit a01aade75d
3 changed files with 63 additions and 0 deletions

View File

@ -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();
/// @}
};
}

View File

@ -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

View File

@ -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