OSDN Git Service

Switch xgettty() -> tty_fd() (returning -1 instead of erroring out if none).
authorRob Landley <rob@landley.net>
Mon, 15 Jan 2018 05:15:01 +0000 (23:15 -0600)
committerRob Landley <rob@landley.net>
Mon, 15 Jan 2018 05:15:01 +0000 (23:15 -0600)
lib/interestingtimes.c
lib/lib.h
toys/other/reset.c

index f028f5e..073a67d 100644 (file)
@@ -5,13 +5,13 @@
 
 #include "toys.h"
 
-int xgettty(void)
+int tty_fd(void)
 {
   int i, j;
 
   for (i = 0; i<3; i++) if (isatty(j = (i+1)%3)) return j;
 
-  return xopen("/dev/tty", O_RDWR);
+  return notstdio(open("/dev/tty", O_RDWR));
 }
 
 // Quick and dirty query size of terminal, doesn't do ANSI probe fallback.
index 5dd629d..9466298 100644 (file)
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -274,7 +274,7 @@ int draw_trim_esc(char *str, int padto, int width, char *escmore,
 int draw_trim(char *str, int padto, int width);
 
 // interestingtimes.c
-int xgettty(void);
+int tty_fd(void);
 int terminal_size(unsigned *xx, unsigned *yy);
 int terminal_probesize(unsigned *xx, unsigned *yy);
 int scan_key_getsize(char *scratch, int miliwait, unsigned *xx, unsigned *yy);
index 0c2089c..aa9b74e 100644 (file)
@@ -18,6 +18,8 @@ config RESET
 
 void reset_main(void)
 {
-  // man 4 console codes: reset terminal is ESC (no left bracket) c
-  xwrite(xgettty(), "\033c", 2);
+  int fd = tty_fd();
+
+  // man 4 console_codes: reset terminal is ESC (no left bracket) c
+  xwrite(fd<0 ? 1 : fd, "\033c", 2);
 }