From 35c319dedab41299e8ad1ec62697c36315fb88da Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Tue, 13 Oct 2015 22:59:54 +0000 Subject: 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. --- html.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'html.c') diff --git a/html.c b/html.c index 3a9a9dcc..d734f546 100644 --- a/html.c +++ b/html.c @@ -1,4 +1,4 @@ -/* $Id: html.c,v 1.190 2015/10/12 00:15:31 schwarze Exp $ */ +/* $Id: html.c,v 1.191 2015/10/13 22:59:54 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2011-2015 Ingo Schwarze @@ -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; -- cgit v1.2.3-56-ge451