logo

utils-std

Collection of commonly available Unix tools git clone https://anongit.hacktivis.me/git/utils-std.git/

tty.c (557B)


  1. // utils-std: Collection of commonly available Unix tools
  2. // SPDX-FileCopyrightText: 2017 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
  3. // SPDX-License-Identifier: 0BSD
  4. #include <errno.h> // errno
  5. #include <stdio.h> // puts()
  6. #include <unistd.h> // ttyname()
  7. int
  8. main(void)
  9. {
  10. char *name = ttyname(STDIN_FILENO);
  11. if(!name)
  12. {
  13. if(errno == ENOTTY)
  14. {
  15. if(puts("not a tty") < 0)
  16. {
  17. return 2;
  18. }
  19. return 1;
  20. }
  21. else
  22. {
  23. perror("tty: error: ttyname");
  24. return 2;
  25. }
  26. }
  27. if(puts(name) < 0)
  28. {
  29. return 2;
  30. }
  31. return 0;
  32. }