aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/main.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-05-14 14:10:23 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-05-14 14:10:23 +0000
commit70913603796557ef7ff0be37b221f54cb68d94d1 (patch)
tree862ac268e59d7ab60d2258f406b3f5e79d1a94d7 /main.c
parent8146f18c9d4d17026c0a4ae5ed85ea5907bf38fc (diff)
downloadmandoc-70913603796557ef7ff0be37b221f54cb68d94d1.tar.gz
mandoc-70913603796557ef7ff0be37b221f54cb68d94d1.tar.zst
mandoc-70913603796557ef7ff0be37b221f54cb68d94d1.zip
Some broken terminal emulators (e.g. sakura) do the equivalent
of "stty cols 0". Ignore that insanity rather than setting conf.output.width to an invalid value and embarking on infinite loops. Issue reported by Jesper Wallin <jesper at ifconfig dot se>, thanks!
Diffstat (limited to 'main.c')
-rw-r--r--main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/main.c b/main.c
index 67827b2b..600bc9bb 100644
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.305 2018/04/19 16:25:24 schwarze Exp $ */
+/* $Id: main.c,v 1.306 2018/05/14 14:10:23 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2012, 2014-2018 Ingo Schwarze <schwarze@openbsd.org>
@@ -321,7 +321,8 @@ main(int argc, char *argv[])
if (use_pager &&
(conf.output.width == 0 || conf.output.indent == 0) &&
- ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) != -1) {
+ ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) != -1 &&
+ ws.ws_col > 1) {
if (conf.output.width == 0 && ws.ws_col < 79)
conf.output.width = ws.ws_col - 1;
if (conf.output.indent == 0 && ws.ws_col < 66)