diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-03-30 21:28:01 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-03-30 21:28:01 +0000 |
commit | 0e54067b69058241ae1471784ca76be3ce54c96e (patch) | |
tree | 4b6fb50f0cba7ca839deda52f839efd76e5ebc35 /term_ps.c | |
parent | b0b643c847c8a9530fc19fc081c52b9b6f5159dd (diff) | |
download | mandoc-0e54067b69058241ae1471784ca76be3ce54c96e.tar.gz |
Support relative arguments to .ll (increase or decrease line length).
Diffstat (limited to 'term_ps.c')
-rw-r--r-- | term_ps.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -106,7 +106,7 @@ __attribute__((__format__ (__printf__, 2, 3))) static void ps_printf(struct termp *, const char *, ...); static void ps_putchar(struct termp *, char); static void ps_setfont(struct termp *, enum termfont); -static void ps_setwidth(struct termp *, size_t); +static void ps_setwidth(struct termp *, int, size_t); static struct termp *pspdf_alloc(char *); static void pdf_obj(struct termp *, size_t); @@ -536,12 +536,17 @@ pspdf_alloc(char *outopts) static void -ps_setwidth(struct termp *p, size_t width) +ps_setwidth(struct termp *p, int iop, size_t width) { size_t lastwidth; lastwidth = p->ps->width; - p->ps->width = width ? width : p->ps->lastwidth; + if (0 < iop) + p->ps->width += width; + else if (0 > iop) + p->ps->width -= width; + else + p->ps->width = width ? width : p->ps->lastwidth; p->ps->lastwidth = lastwidth; } |