aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-01-31 00:30:45 +0000
committerEric Andersen <andersen@codepoet.org>2001-01-31 00:30:45 +0000
commit306f4fe480fe578b78d2c83fa7d13bc2a75f7ea9 (patch)
tree84298df71edb9d4703410eea52069f80eca55974 /shell
parent22332fd26f7d37da7ae47c15ecab6edd6a107af3 (diff)
downloadbusybox-w32-306f4fe480fe578b78d2c83fa7d13bc2a75f7ea9.tar.gz
busybox-w32-306f4fe480fe578b78d2c83fa7d13bc2a75f7ea9.tar.bz2
busybox-w32-306f4fe480fe578b78d2c83fa7d13bc2a75f7ea9.zip
If the ioctl fails to tell us the winsize, default to 79.
-Erik
Diffstat (limited to 'shell')
-rw-r--r--shell/cmdedit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 9c2facc7b..169032697 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -136,11 +136,14 @@ static void win_changed(int nsig)
136 struct winsize win = { 0, 0, 0, 0 }; 136 struct winsize win = { 0, 0, 0, 0 };
137 static __sighandler_t previous_SIGWINCH_handler; /* for reset */ 137 static __sighandler_t previous_SIGWINCH_handler; /* for reset */
138 138
139 /* emulate signal call if not called as a sig handler */ 139 /* emulate signal call if not called as a sig handler */
140 if(nsig == -SIGWINCH || nsig == SIGWINCH) { 140 if(nsig == -SIGWINCH || nsig == SIGWINCH) {
141 ioctl(0, TIOCGWINSZ, &win); 141 ioctl(0, TIOCGWINSZ, &win);
142 if (win.ws_col > 0) { 142 if (win.ws_col > 0) {
143 cmdedit_setwidth( win.ws_col, nsig == SIGWINCH ); 143 cmdedit_setwidth( win.ws_col, nsig == SIGWINCH );
144 } else {
145 /* Default to 79 if their console doesn't want to share */
146 cmdedit_setwidth( 79, nsig == SIGWINCH );
144 } 147 }
145 } 148 }
146 149