|
|
|
diff -u -r ../mandoc-1.14.3/term_ascii.c ./term_ascii.c
|
|
|
|
--- ../mandoc-1.14.3/term_ascii.c 2017-08-05 14:40:22.000000000 +0200
|
|
|
|
+++ ./term_ascii.c 2017-08-17 15:58:09.579116114 +0200
|
|
|
|
@@ -18,8 +18,10 @@
|
|
|
|
#include "config.h"
|
|
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
+#include <sys/ioctl.h>
|
|
|
|
|
|
|
|
#include <assert.h>
|
|
|
|
+#include <fcntl.h>
|
|
|
|
#if HAVE_WCHAR
|
|
|
|
#include <locale.h>
|
|
|
|
#endif
|
|
|
|
@@ -64,6 +66,8 @@
|
|
|
|
char *v;
|
|
|
|
#endif
|
|
|
|
struct termp *p;
|
|
|
|
+ struct winsize ws;
|
|
|
|
+ int tfd;
|
|
|
|
|
|
|
|
p = mandoc_calloc(1, sizeof(*p));
|
|
|
|
p->tcol = p->tcols = mandoc_calloc(1, sizeof(*p->tcol));
|
|
|
|
@@ -71,6 +75,15 @@
|
|
|
|
|
|
|
|
p->line = 1;
|
|
|
|
p->defrmargin = p->lastrmargin = 78;
|
|
|
|
+
|
|
|
|
+ if ((tfd = open("/dev/tty", O_RDWR, 0)) != -1) {
|
|
|
|
+ if (ioctl(tfd, TIOCGWINSZ, &ws) != -1) {
|
|
|
|
+ if (ws.ws_col < 80)
|
|
|
|
+ p->defrmargin = p->lastrmargin = ws.ws_col - 2;
|
|
|
|
+ }
|
|
|
|
+ close(tfd);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
p->fontq = mandoc_reallocarray(NULL,
|
|
|
|
(p->fontsz = 8), sizeof(*p->fontq));
|
|
|
|
p->fontq[0] = p->fontl = TERMFONT_NONE;
|