diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-01-31 00:30:45 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-01-31 00:30:45 +0000 |
commit | 306f4fe480fe578b78d2c83fa7d13bc2a75f7ea9 (patch) | |
tree | 84298df71edb9d4703410eea52069f80eca55974 /shell | |
parent | 22332fd26f7d37da7ae47c15ecab6edd6a107af3 (diff) | |
download | busybox-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.c | 5 |
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 | ||