diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-10-13 22:59:54 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-10-13 22:59:54 +0000 |
commit | 35c319dedab41299e8ad1ec62697c36315fb88da (patch) | |
tree | 6d0023d2c650f7cadfa9c71eebdfd679f0bf3d51 /term_ps.c | |
parent | e47784200392e2dea53b3decd3ceb23e1e2a0ca6 (diff) | |
download | mandoc-35c319dedab41299e8ad1ec62697c36315fb88da.tar.gz mandoc-35c319dedab41299e8ad1ec62697c36315fb88da.tar.zst mandoc-35c319dedab41299e8ad1ec62697c36315fb88da.zip |
Major character table cleanup:
* Use ohash(3) rather than a hand-rolled hash table.
* Make the character table static in the chars.c module:
There is no need to pass a pointer around, we most certainly
never want to use two different character tables concurrently.
* No need to keep the characters in a separate file chars.in;
that merely encourages downstream porters to mess with them.
* Sort the characters to agree with the mandoc_chars(7) manual page.
* Specify Unicode codepoints in hex, not decimal (that's the detail
that originally triggered this patch).
No functional change, minus 100 LOC, and i don't see a performance change.
Diffstat (limited to 'term_ps.c')
-rw-r--r-- | term_ps.c | 16 |
1 files changed, 7 insertions, 9 deletions
@@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.77 2015/10/12 00:08:16 schwarze Exp $ */ +/* $Id: term_ps.c,v 1.78 2015/10/13 22:59:54 schwarze Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org> @@ -108,8 +108,7 @@ 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 *, int, int); -static struct termp *pspdf_alloc(const struct mchars *, - const struct manoutput *); +static struct termp *pspdf_alloc(const struct manoutput *); static void pdf_obj(struct termp *, size_t); /* @@ -510,29 +509,29 @@ static const struct font fonts[TERMFONT__MAX] = { }; void * -pdf_alloc(const struct mchars *mchars, const struct manoutput *outopts) +pdf_alloc(const struct manoutput *outopts) { struct termp *p; - if (NULL != (p = pspdf_alloc(mchars, outopts))) + if (NULL != (p = pspdf_alloc(outopts))) p->type = TERMTYPE_PDF; return p; } void * -ps_alloc(const struct mchars *mchars, const struct manoutput *outopts) +ps_alloc(const struct manoutput *outopts) { struct termp *p; - if (NULL != (p = pspdf_alloc(mchars, outopts))) + if (NULL != (p = pspdf_alloc(outopts))) p->type = TERMTYPE_PS; return p; } static struct termp * -pspdf_alloc(const struct mchars *mchars, const struct manoutput *outopts) +pspdf_alloc(const struct manoutput *outopts) { struct termp *p; unsigned int pagex, pagey; @@ -540,7 +539,6 @@ pspdf_alloc(const struct mchars *mchars, const struct manoutput *outopts) const char *pp; p = mandoc_calloc(1, sizeof(struct termp)); - p->symtab = mchars; p->enc = TERMENC_ASCII; p->fontq = mandoc_reallocarray(NULL, (p->fontsz = 8), sizeof(enum termfont)); |