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. --- term_ascii.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'term_ascii.c') diff --git a/term_ascii.c b/term_ascii.c index 1c064878..c4633b3d 100644 --- a/term_ascii.c +++ b/term_ascii.c @@ -1,4 +1,4 @@ -/* $Id: term_ascii.c,v 1.50 2015/10/12 00:08:16 schwarze Exp $ */ +/* $Id: term_ascii.c,v 1.51 2015/10/13 22:59:54 schwarze Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons * Copyright (c) 2014, 2015 Ingo Schwarze @@ -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 -- cgit v1.2.3-56-ge451