summaryrefslogtreecommitdiffstats
path: root/term_ascii.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-10-13 22:59:54 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-10-13 22:59:54 +0000
commitb26f648a71b3259c793410232a0d3bbdd0aa54e3 (patch)
tree38c696a975659d4498c81dddfc966f0e30bc6326 /term_ascii.c
parent35c8bbbbc8de3992d8c2d207662d365f4d566865 (diff)
downloadmandoc-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.c19
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