If the ioctl fails to tell us the winsize, default to 79.

-Erik
This commit is contained in:
Eric Andersen 2001-01-31 00:30:45 +00:00
parent 22332fd26f
commit 306f4fe480
2 changed files with 8 additions and 2 deletions

View File

@ -136,11 +136,14 @@ static void win_changed(int nsig)
struct winsize win = { 0, 0, 0, 0 }; struct winsize win = { 0, 0, 0, 0 };
static __sighandler_t previous_SIGWINCH_handler; /* for reset */ static __sighandler_t previous_SIGWINCH_handler; /* for reset */
/* emulate signal call if not called as a sig handler */ /* emulate signal call if not called as a sig handler */
if(nsig == -SIGWINCH || nsig == SIGWINCH) { if(nsig == -SIGWINCH || nsig == SIGWINCH) {
ioctl(0, TIOCGWINSZ, &win); ioctl(0, TIOCGWINSZ, &win);
if (win.ws_col > 0) { if (win.ws_col > 0) {
cmdedit_setwidth( win.ws_col, nsig == SIGWINCH ); cmdedit_setwidth( win.ws_col, nsig == SIGWINCH );
} else {
/* Default to 79 if their console doesn't want to share */
cmdedit_setwidth( 79, nsig == SIGWINCH );
} }
} }

View File

@ -136,11 +136,14 @@ static void win_changed(int nsig)
struct winsize win = { 0, 0, 0, 0 }; struct winsize win = { 0, 0, 0, 0 };
static __sighandler_t previous_SIGWINCH_handler; /* for reset */ static __sighandler_t previous_SIGWINCH_handler; /* for reset */
/* emulate signal call if not called as a sig handler */ /* emulate signal call if not called as a sig handler */
if(nsig == -SIGWINCH || nsig == SIGWINCH) { if(nsig == -SIGWINCH || nsig == SIGWINCH) {
ioctl(0, TIOCGWINSZ, &win); ioctl(0, TIOCGWINSZ, &win);
if (win.ws_col > 0) { if (win.ws_col > 0) {
cmdedit_setwidth( win.ws_col, nsig == SIGWINCH ); cmdedit_setwidth( win.ws_col, nsig == SIGWINCH );
} else {
/* Default to 79 if their console doesn't want to share */
cmdedit_setwidth( 79, nsig == SIGWINCH );
} }
} }