tty.cpp 678 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "tty.h"
  2. #include <util/system/platform.h>
  3. #ifdef _win_
  4. #include <io.h>
  5. #include <stdio.h>
  6. #else
  7. #include <unistd.h>
  8. #endif
  9. namespace NYql {
  10. bool IsTty(EStdStream stream) {
  11. #ifdef _win_
  12. switch (stream) {
  13. case EStdStream::In:
  14. return _isatty(_fileno(stdin));
  15. case EStdStream::Out:
  16. return _isatty(_fileno(stdout));
  17. case EStdStream::Err:
  18. return _isatty(_fileno(stderr));
  19. }
  20. #else
  21. switch (stream) {
  22. case EStdStream::In:
  23. return isatty(STDIN_FILENO);
  24. case EStdStream::Out:
  25. return isatty(STDOUT_FILENO);
  26. case EStdStream::Err:
  27. return isatty(STDERR_FILENO);
  28. }
  29. #endif
  30. }
  31. } // namespace NYql