From 2c3dcb05473da38585ae8008b72613156f6becad Mon Sep 17 00:00:00 2001 From: ceriel Date: Thu, 31 Jan 1991 15:17:54 +0000 Subject: [PATCH] modified hash function to deliver same value on 2 byte and 4 byte machines --- util/led/sym.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/util/led/sym.c b/util/led/sym.c index 6647d7f36..98056091e 100644 --- a/util/led/sym.c +++ b/util/led/sym.c @@ -26,7 +26,7 @@ struct symbol { ind_t sy_next; }; -#define NHASH 256 /* Size of hash table. Should be even. */ +#define NHASH 307 /* Size of hash table. Must be odd. */ static ind_t hashtable[NHASH]; @@ -134,12 +134,12 @@ int hash(p) register char *p; { - register unsigned int h = 0; + register unsigned short h = 0; register int c; while (c = *p++) { h <<= 2; h += c; } - return h & (NHASH - 1); + return h % NHASH; } -- 2.34.1