diff options
Diffstat (limited to 'yql/essentials/utils/tty.cpp')
-rw-r--r-- | yql/essentials/utils/tty.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/yql/essentials/utils/tty.cpp b/yql/essentials/utils/tty.cpp new file mode 100644 index 0000000000..57db2d9bf3 --- /dev/null +++ b/yql/essentials/utils/tty.cpp @@ -0,0 +1,35 @@ +#include "tty.h" +#include <util/system/platform.h> + +#ifdef _win_ +#include <io.h> +#include <stdio.h> +#else +#include <unistd.h> +#endif + +namespace NYql { + +bool IsTty(EStdStream stream) { +#ifdef _win_ + switch (stream) { + case EStdStream::In: + return _isatty(_fileno(stdin)); + case EStdStream::Out: + return _isatty(_fileno(stdout)); + case EStdStream::Err: + return _isatty(_fileno(stderr)); + } +#else + switch (stream) { + case EStdStream::In: + return isatty(STDIN_FILENO); + case EStdStream::Out: + return isatty(STDOUT_FILENO); + case EStdStream::Err: + return isatty(STDERR_FILENO); + } +#endif +} + +} // namespace NYql |