diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-16 20:36:48 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-16 20:36:48 +0200 |
commit | 68e980545af6a8ffb2980f94a6edac4dd89940f3 (patch) | |
tree | 821d730e4fcbe52666d4f43ae34f81681c395a5a | |
parent | b24e55da84093dd6bf6dff79627e32459c3da071 (diff) |
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 <vda.linux@googlemail.com>
-rw-r--r-- | miscutils/ttysize.c | 7 |
1 files changed, 5 insertions, 2 deletions
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; } |