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 | 35c319dedab41299e8ad1ec62697c36315fb88da (patch) | |
tree | 6d0023d2c650f7cadfa9c71eebdfd679f0bf3d51 /mandoc.h | |
parent | e47784200392e2dea53b3decd3ceb23e1e2a0ca6 (diff) | |
download | mandoc-35c319dedab41299e8ad1ec62697c36315fb88da.tar.gz mandoc-35c319dedab41299e8ad1ec62697c36315fb88da.tar.zst mandoc-35c319dedab41299e8ad1ec62697c36315fb88da.zip |
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 'mandoc.h')
-rw-r--r-- | mandoc.h | 16 |
1 files changed, 6 insertions, 10 deletions
@@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.205 2015/09/14 15:36:14 schwarze Exp $ */ +/* $Id: mandoc.h,v 1.206 2015/10/13 22:59:54 schwarze Exp $ */ /* * Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org> @@ -410,21 +410,17 @@ typedef void (*mandocmsg)(enum mandocerr, enum mandoclevel, __BEGIN_DECLS struct mparse; -struct mchars; struct roff_man; enum mandoc_esc mandoc_escape(const char **, const char **, int *); -struct mchars *mchars_alloc(void); -void mchars_free(struct mchars *); +void mchars_alloc(void); +void mchars_free(void); int mchars_num2char(const char *, size_t); const char *mchars_uc2str(int); int mchars_num2uc(const char *, size_t); -int mchars_spec2cp(const struct mchars *, - const char *, size_t); -const char *mchars_spec2str(const struct mchars *, - const char *, size_t, size_t *); -struct mparse *mparse_alloc(int, enum mandoclevel, mandocmsg, - const struct mchars *, const char *); +int mchars_spec2cp(const char *, size_t); +const char *mchars_spec2str(const char *, size_t, size_t *); +struct mparse *mparse_alloc(int, enum mandoclevel, mandocmsg, const char *); void mparse_free(struct mparse *); void mparse_keep(struct mparse *); enum mandoclevel mparse_open(struct mparse *, int *, const char *); |