summaryrefslogtreecommitdiffstats
path: root/term_ps.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-06-07 17:38:26 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-06-07 17:38:26 +0000
commitce3e2d5316637284d4e520cd554cd6ac728f4e49 (patch)
treea707ab0b13feb76229c9d84fcfa42b26bc3c293b /term_ps.c
parent955d8c0b01f8bcb2337da16b09f839e0f9cfd8b6 (diff)
downloadmandoc-ce3e2d5316637284d4e520cd554cd6ac728f4e49.tar.gz
Prepare the terminal driver for filling multiple columns in parallel,
first step: split column data out of the terminal state struct into a new column state struct and use an array of such column state structs. No functional change.
Diffstat (limited to 'term_ps.c')
-rw-r--r--term_ps.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/term_ps.c b/term_ps.c
index 26e117e0..f66a8cbd 100644
--- a/term_ps.c
+++ b/term_ps.c
@@ -538,12 +538,15 @@ pspdf_alloc(const struct manoutput *outopts)
size_t marginx, marginy, lineheight;
const char *pp;
- 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->enc = TERMENC_ASCII;
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->ps = mandoc_calloc(1, sizeof(struct termp_ps));
+ p->ps = mandoc_calloc(1, sizeof(*p->ps));
p->advance = ps_advance;
p->begin = ps_begin;
@@ -1220,7 +1223,7 @@ ps_endline(struct termp *p)
ps_closepage(p);
- p->offset -= p->ti;
+ p->tcol->offset -= p->ti;
p->ti = 0;
}