From 306f4fe480fe578b78d2c83fa7d13bc2a75f7ea9 Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
Date: Wed, 31 Jan 2001 00:30:45 +0000
Subject: [PATCH] If the ioctl fails to tell us the winsize, default to 79. 
 -Erik

---
 cmdedit.c       | 5 ++++-
 shell/cmdedit.c | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/cmdedit.c b/cmdedit.c
index 9c2facc7b..169032697 100644
--- a/cmdedit.c
+++ b/cmdedit.c
@@ -136,11 +136,14 @@ static void win_changed(int nsig)
 	struct winsize win = { 0, 0, 0, 0 };
 	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) {
 		ioctl(0, TIOCGWINSZ, &win);
 		if (win.ws_col > 0) {
 			cmdedit_setwidth( win.ws_col, nsig == SIGWINCH );
+		} else {
+			/* Default to 79 if their console doesn't want to share */
+			cmdedit_setwidth( 79, nsig == SIGWINCH );
 		}
 	}
 	
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)
 	struct winsize win = { 0, 0, 0, 0 };
 	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) {
 		ioctl(0, TIOCGWINSZ, &win);
 		if (win.ws_col > 0) {
 			cmdedit_setwidth( win.ws_col, nsig == SIGWINCH );
+		} else {
+			/* Default to 79 if their console doesn't want to share */
+			cmdedit_setwidth( 79, nsig == SIGWINCH );
 		}
 	}