diff options
author | Steve Bennett <steveb@workware.net.au> | 2011-03-17 16:39:06 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2011-04-05 09:30:27 +1000 |
commit | abd0fa0c9dfde1e4895bcfe488b24c0ab9ad69f8 (patch) | |
tree | ed5eb19e329635bafb02c9b7b3a7ed451bc257f4 | |
parent | fbd28c8e09488cac19fb6d14bca695ae3611e9e4 (diff) | |
download | jimtcl-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>
-rw-r--r-- | linenoise.c | 2 |
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; } |