-/* $Id: hash.c,v 1.3 2008/12/23 05:30:49 kristaps Exp $ */
+/* $Id: hash.c,v 1.6 2009/02/23 12:45:19 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
#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)
minor = tmp[1] - 97;
ind = (major * 27) + minor;
+ if (ind < 0 || ind >= (27 * 26))
+ return(MDOC_MAX);
if (NULL == htab[ind])
return(MDOC_MAX);