If the ioctl fails to tell us the winsize, default to 79.
-Erik
This commit is contained in:
parent
22332fd26f
commit
306f4fe480
@ -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 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user