aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2003-09-15 08:33:45 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2003-09-15 08:33:45 +0000
commit7531d242c93e4ff7d3b2ebeeaf1f0de4dcb6b71c (patch)
tree7590704be6cf03c87242043f5909e12eb4150356 /shell
parentfc2b3bc3efa6de860a1d3a961c700650e1a590eb (diff)
downloadbusybox-w32-7531d242c93e4ff7d3b2ebeeaf1f0de4dcb6b71c.tar.gz
busybox-w32-7531d242c93e4ff7d3b2ebeeaf1f0de4dcb6b71c.tar.bz2
busybox-w32-7531d242c93e4ff7d3b2ebeeaf1f0de4dcb6b71c.zip
Be entirely consistant when using ioctl(0, TIOCGWINSZ, &winsize)
to ensure proper fallback behavior on, i.e. serial consoles. -Erik git-svn-id: svn://busybox.net/trunk/busybox@7526 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'shell')
-rw-r--r--shell/cmdedit.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 0ab195803..16825089d 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -167,15 +167,13 @@ static void cmdedit_setwidth(int w, int redraw_flg);
167 167
168static void win_changed(int nsig) 168static void win_changed(int nsig)
169{ 169{
170 struct winsize win = { 0, 0, 0, 0 };
171 static sighandler_t previous_SIGWINCH_handler; /* for reset */ 170 static sighandler_t previous_SIGWINCH_handler; /* for reset */
172 171
173 /* emulate || signal call */ 172 /* emulate || signal call */
174 if (nsig == -SIGWINCH || nsig == SIGWINCH) { 173 if (nsig == -SIGWINCH || nsig == SIGWINCH) {
175 ioctl(0, TIOCGWINSZ, &win); 174 int width = 0;
176 if (win.ws_col > 0) { 175 get_terminal_width_height(0, &width, NULL);
177 cmdedit_setwidth(win.ws_col, nsig == SIGWINCH); 176 cmdedit_setwidth(width, nsig == SIGWINCH);
178 }
179 } 177 }
180 /* Unix not all standart in recall signal */ 178 /* Unix not all standart in recall signal */
181 179