isatty.c 611 B

123456789101112131415161718192021222324
  1. #include <errno.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5. int main(void) {
  6. int status = isatty(STDOUT_FILENO);
  7. if (status == 1) {
  8. puts("'Tis a tty :D");
  9. } else if (status == 0) {
  10. if (errno == ENOTTY) {
  11. // I wouldn't consider stdout not being a TTY an error
  12. // (CI runners, etc.)
  13. puts("Whatever a tty is, it's not me");
  14. } else {
  15. perror("isatty");
  16. exit(EXIT_FAILURE);
  17. }
  18. } else {
  19. printf("isatty returned %d, unexpected result\n", status);
  20. exit(EXIT_FAILURE);
  21. }
  22. }