aboutsummaryrefslogtreecommitdiff
path: root/linenoise.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2011-03-17 16:39:06 +1000
committerSteve Bennett <steveb@workware.net.au>2011-04-05 09:30:27 +1000
commitabd0fa0c9dfde1e4895bcfe488b24c0ab9ad69f8 (patch)
treeed5eb19e329635bafb02c9b7b3a7ed451bc257f4 /linenoise.c
parentfbd28c8e09488cac19fb6d14bca695ae3611e9e4 (diff)
downloadjimtcl-abd0fa0c9dfde1e4895bcfe488b24c0ab9ad69f8.zip
jimtcl-abd0fa0c9dfde1e4895bcfe488b24c0ab9ad69f8.tar.gz
jimtcl-abd0fa0c9dfde1e4895bcfe488b24c0ab9ad69f8.tar.bz2
Fix line editing when columns unavailable
Sometimes TIOCGWINSZ succeeds but returns columns=0 This makes line editing work rather badly. If this occurs, just behave as though TIOCGWINSZ had failed and assume 80 columns. Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'linenoise.c')
-rw-r--r--linenoise.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/linenoise.c b/linenoise.c
index 038756b..0612219 100644
--- a/linenoise.c
+++ b/linenoise.c
@@ -174,7 +174,7 @@ static void linenoiseAtExit(void) {
static int getColumns(void) {
struct winsize ws;
- if (ioctl(1, TIOCGWINSZ, &ws) == -1) return 80;
+ if (ioctl(1, TIOCGWINSZ, &ws) == -1 || ws.ws_col == 0) return 80;
return ws.ws_col;
}