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 | b26f648a71b3259c793410232a0d3bbdd0aa54e3 (patch) | |
tree | 38c696a975659d4498c81dddfc966f0e30bc6326 /term_ascii.c | |
parent | 35c8bbbbc8de3992d8c2d207662d365f4d566865 (diff) | |
download | mandoc-b26f648a71b3259c793410232a0d3bbdd0aa54e3.tar.gz |
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_ascii.c')
-rw-r--r-- | term_ascii.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/term_ascii.c b/term_ascii.c index b3aac5ea..1d587c63 100644 --- a/term_ascii.c +++ b/term_ascii.c @@ -38,8 +38,7 @@ #include "manconf.h" #include "main.h" -static struct termp *ascii_init(enum termenc, const struct mchars *, - const struct manoutput *); +static struct termp *ascii_init(enum termenc, const struct manoutput *); static int ascii_hspan(const struct termp *, const struct roffsu *); static size_t ascii_width(const struct termp *, int); @@ -59,8 +58,7 @@ static size_t locale_width(const struct termp *, int); static struct termp * -ascii_init(enum termenc enc, const struct mchars *mchars, - const struct manoutput *outopts) +ascii_init(enum termenc enc, const struct manoutput *outopts) { #if HAVE_WCHAR char *v; @@ -69,7 +67,6 @@ ascii_init(enum termenc enc, const struct mchars *mchars, p = mandoc_calloc(1, sizeof(struct termp)); - p->symtab = mchars; p->line = 1; p->tabwidth = 5; p->defrmargin = p->lastrmargin = 78; @@ -119,24 +116,24 @@ ascii_init(enum termenc enc, const struct mchars *mchars, } void * -ascii_alloc(const struct mchars *mchars, const struct manoutput *outopts) +ascii_alloc(const struct manoutput *outopts) { - return ascii_init(TERMENC_ASCII, mchars, outopts); + return ascii_init(TERMENC_ASCII, outopts); } void * -utf8_alloc(const struct mchars *mchars, const struct manoutput *outopts) +utf8_alloc(const struct manoutput *outopts) { - return ascii_init(TERMENC_UTF8, mchars, outopts); + return ascii_init(TERMENC_UTF8, outopts); } void * -locale_alloc(const struct mchars *mchars, const struct manoutput *outopts) +locale_alloc(const struct manoutput *outopts) { - return ascii_init(TERMENC_LOCALE, mchars, outopts); + return ascii_init(TERMENC_LOCALE, outopts); } static void |