diff options
Diffstat (limited to 'contrib/mdocml/term_ascii.c')
-rw-r--r-- | contrib/mdocml/term_ascii.c | 21 |
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'); } |