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 /html.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 'html.c')
-rw-r--r-- | html.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -130,15 +130,13 @@ static void print_attr(struct html *, const char *, const char *); void * -html_alloc(const struct mchars *mchars, const struct manoutput *outopts) +html_alloc(const struct manoutput *outopts) { struct html *h; h = mandoc_calloc(1, sizeof(struct html)); h->tags.head = NULL; - h->symtab = mchars; - h->style = outopts->style; h->base_man = outopts->man; h->base_includes = outopts->includes; @@ -398,7 +396,7 @@ print_encode(struct html *h, const char *p, int norecurse) continue; break; case ESCAPE_SPECIAL: - c = mchars_spec2cp(h->symtab, seq, len); + c = mchars_spec2cp(seq, len); if (c <= 0) continue; break; |