aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_hash.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-04-24 23:06:17 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-04-24 23:06:17 +0000
commit3690be6ec251dbce20a23ecadfcebabd645f874d (patch)
tree5a3b8871e3ed91a8f886f916529e2e83addd34b3 /mdoc_hash.c
parentaf17862b1d7e4ad39b12a7e6df025e553d1c1dbe (diff)
downloadmandoc-3690be6ec251dbce20a23ecadfcebabd645f874d.tar.gz
mandoc-3690be6ec251dbce20a23ecadfcebabd645f874d.tar.zst
mandoc-3690be6ec251dbce20a23ecadfcebabd645f874d.zip
Continue parser unification:
* Make enum rofft an internal interface as enum roff_tok in "roff.h". * Represent mdoc and man macros in enum roff_tok. * Make TOKEN_NONE a proper enum value and use it throughout. * Put the prologue macros first in the macro tables. * Unify mdoc_macroname[] and man_macroname[] into roff_name[].
Diffstat (limited to 'mdoc_hash.c')
-rw-r--r--mdoc_hash.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/mdoc_hash.c b/mdoc_hash.c
index cad3c2db..3fcc399c 100644
--- a/mdoc_hash.c
+++ b/mdoc_hash.c
@@ -1,7 +1,7 @@
-/* $Id: mdoc_hash.c,v 1.27 2016/07/15 18:03:45 schwarze Exp $ */
+/* $Id: mdoc_hash.c,v 1.28 2017/04/24 23:06:18 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2015 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -46,8 +46,8 @@ mdoc_hash_init(void)
memset(table, UCHAR_MAX, sizeof(table));
- for (i = 0; i < (int)MDOC_MAX; i++) {
- p = mdoc_macronames[i];
+ for (i = 0; i < (int)(MDOC_MAX - MDOC_Dd); i++) {
+ p = roff_name[MDOC_Dd + i];
if (isalpha((unsigned char)p[1]))
major = 12 * (tolower((unsigned char)p[1]) - 97);
@@ -64,7 +64,7 @@ mdoc_hash_init(void)
}
}
-int
+enum roff_tok
mdoc_hash_find(const char *p)
{
int major, i, j;
@@ -87,8 +87,8 @@ mdoc_hash_find(const char *p)
for (j = 0; j < 12; j++) {
if (UCHAR_MAX == (i = table[major + j]))
break;
- if (0 == strcmp(p, mdoc_macronames[i]))
- return i;
+ if (strcmp(p, roff_name[MDOC_Dd + i]) == 0)
+ return MDOC_Dd + i;
}
return TOKEN_NONE;