aboutsummaryrefslogtreecommitdiff
path: root/contrib/mdocml/term_ascii.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/mdocml/term_ascii.c')
-rw-r--r--contrib/mdocml/term_ascii.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/contrib/mdocml/term_ascii.c b/contrib/mdocml/term_ascii.c
index df5ff13901c2..1efd76d833ff 100644
--- a/contrib/mdocml/term_ascii.c
+++ b/contrib/mdocml/term_ascii.c
@@ -1,7 +1,7 @@
-/* $Id: term_ascii.c,v 1.54 2016/07/31 09:29:13 schwarze Exp $ */
+/* $Id: term_ascii.c,v 1.57 2017/06/07 17:38:26 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -65,13 +65,14 @@ ascii_init(enum termenc enc, const struct manoutput *outopts)
#endif
struct termp *p;
- p = mandoc_calloc(1, sizeof(struct termp));
+ p = mandoc_calloc(1, sizeof(*p));
+ p->tcol = p->tcols = mandoc_calloc(1, sizeof(*p->tcol));
+ p->maxtcol = 1;
p->line = 1;
- p->tabwidth = 5;
p->defrmargin = p->lastrmargin = 78;
p->fontq = mandoc_reallocarray(NULL,
- (p->fontsz = 8), sizeof(enum termfont));
+ (p->fontsz = 8), sizeof(*p->fontq));
p->fontq[0] = p->fontl = TERMFONT_NONE;
p->begin = ascii_begin;
@@ -149,7 +150,7 @@ ascii_setwidth(struct termp *p, int iop, int width)
{
width /= 24;
- p->rmargin = p->defrmargin;
+ p->tcol->rmargin = p->defrmargin;
if (iop > 0)
p->defrmargin += width;
else if (iop == 0)
@@ -158,8 +159,8 @@ ascii_setwidth(struct termp *p, int iop, int width)
p->defrmargin -= width;
else
p->defrmargin = 0;
- p->lastrmargin = p->rmargin;
- p->rmargin = p->maxrmargin = p->defrmargin;
+ p->lastrmargin = p->tcol->rmargin;
+ p->tcol->rmargin = p->maxrmargin = p->defrmargin;
}
void
@@ -216,6 +217,8 @@ ascii_endline(struct termp *p)
{
p->line++;
+ p->tcol->offset -= p->ti;
+ p->ti = 0;
putchar('\n');
}
@@ -370,6 +373,8 @@ locale_endline(struct termp *p)
{
p->line++;
+ p->tcol->offset -= p->ti;
+ p->ti = 0;
putwchar(L'\n');
}