From: Denys Vlasenko Date: Sun, 16 Jul 2017 18:36:48 +0000 (+0200) Subject: ttysize: if stdin is not tty, try stdout, then stderr X-Git-Tag: 1_28_0~380 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=68e980545af6a8ffb2980f94a6edac4dd89940f3;p=oweals%2Fbusybox.git 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 --- diff --git a/miscutils/ttysize.c b/miscutils/ttysize.c index 135ce8535..cba65b148 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; }