aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-03-23 23:15:36 +0000
committerEric Andersen <andersen@codepoet.org>2004-03-23 23:15:36 +0000
commit97310d025390e96f34140cff13034fcd2b5da18f (patch)
treebe9b3406b9b0598d0bc42d6912a7855f7ee11819 /coreutils
parent6bb80870b839cc812d55b28f886bf3e001e4a00e (diff)
downloadbusybox-w32-97310d025390e96f34140cff13034fcd2b5da18f.tar.gz
busybox-w32-97310d025390e96f34140cff13034fcd2b5da18f.tar.bz2
busybox-w32-97310d025390e96f34140cff13034fcd2b5da18f.zip
Brian Pomerantz writes:
I've noticed a bug in the "autowidth" feature more, and is probably in others. The call to the function get_terminal_width_height() passes in a file descriptor but that file descriptor is never used, instead the ioctl() is called with 0. In more_main() the call to get_terminal_width_height() passes 0 as the file descriptor instead of fileno(cin). This isn't a problem when you more a file (e.g. "more /etc/passwd") but when you pipe a file to it (e.g. "cat /etc/passwd | more") the size of the terminal cannot be determined because file descriptor 0 is not a terminal. The fix is simple, I've attached a patch for more.c and get_terminal_width_height.c. BAPper
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/ls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c
index f7fa9a110..8b5065ac6 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -982,7 +982,7 @@ extern int ls_main(int argc, char **argv)
982 982
983#ifdef CONFIG_FEATURE_AUTOWIDTH 983#ifdef CONFIG_FEATURE_AUTOWIDTH
984 /* Obtain the terminal width. */ 984 /* Obtain the terminal width. */
985 get_terminal_width_height(0, &terminal_width, NULL); 985 get_terminal_width_height(fileno(stdout), &terminal_width, NULL);
986 /* Go one less... */ 986 /* Go one less... */
987 terminal_width--; 987 terminal_width--;
988#endif 988#endif