=================================================================== RCS file: /cvs/mandoc/Attic/hash.c,v retrieving revision 1.4 retrieving revision 1.7 diff -u -p -r1.4 -r1.7 --- mandoc/Attic/hash.c 2009/01/05 17:57:07 1.4 +++ mandoc/Attic/hash.c 2009/03/08 11:41:22 1.7 @@ -1,4 +1,4 @@ -/* $Id: hash.c,v 1.4 2009/01/05 17:57:07 kristaps Exp $ */ +/* $Id: hash.c,v 1.7 2009/03/08 11:41:22 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -25,6 +25,11 @@ #include "private.h" +/* + * Routines for the perfect-hash hashtable used by the parser to look up + * tokens by their string-ified names (`.Fl' -> MDOC_Fl). The + * allocation penalty for this is 27 * 26 * sizeof(ptr). + */ void mdoc_tokhash_free(void *htab) @@ -122,6 +127,11 @@ mdoc_tokhash_find(const void *arg, const char *tmp) (void *)mdoc_macros; assert(0 == (size_t)slot % sizeof(struct mdoc_macro)); slot /= sizeof(struct mdoc_macro); + + /* + * FIXME: is this necessary, or do we only need to check the + * remaining characters (2+)? + */ if (0 != strcmp(mdoc_macronames[slot], tmp)) return(MDOC_MAX);