From 68e980545af6a8ffb2980f94a6edac4dd89940f3 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 16 Jul 2017 20:36:48 +0200 Subject: ttysize: if stdin is not tty, try stdout, then stderr function old new delta ttysize_main 135 175 +40 packed_usage 31686 31672 -14 Signed-off-by: Denys Vlasenko --- 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; } -- cgit v1.1