[git commit] ttysize: if stdin is not tty, try stdout, then stderr

Denys Vlasenko vda.linux at googlemail.com
Sun Jul 16 18:36:48 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=68e980545af6a8ffb2980f94a6edac4dd89940f3
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
ttysize_main                                         135     175     +40
packed_usage                                       31686   31672     -14

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/ttysize.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/miscutils/ttysize.c b/miscutils/ttysize.c
index 135ce85..cba65b1 100644
--- a/miscutils/ttysize.c
+++ b/miscutils/ttysize.c
@@ -25,7 +25,7 @@
 //usage:#define ttysize_trivial_usage
 //usage:       "[w] [h]"
 //usage:#define ttysize_full_usage "\n\n"
-//usage:       "Print dimension(s) of stdin's terminal, on error return 80x25"
+//usage:       "Print dimensions of stdin tty, or 80x24"
 
 #include "libbb.h"
 
@@ -37,7 +37,10 @@ int ttysize_main(int argc UNUSED_PARAM, char **argv)
 
 	w = 80;
 	h = 24;
-	if (!ioctl(0, TIOCGWINSZ, &wsz)) {
+	if (ioctl(0, TIOCGWINSZ, &wsz) == 0
+	 || ioctl(1, TIOCGWINSZ, &wsz) == 0
+	 || ioctl(2, TIOCGWINSZ, &wsz) == 0
+	) {
 		w = wsz.ws_col;
 		h = wsz.ws_row;
 	}


More information about the busybox-cvs mailing list