inpsymt.c, use "Daniel J. Bernstein" hash function

instead of a simple sum.

just for note,
there is a wealth of newer hash functions.

For example "The FNV Non-Cryptographic Hash Algorithm"
from http://tools.ietf.org/html/draft-eastlake-fnv-03
This commit is contained in:
Henrik Forsten 2013-06-23 00:09:44 +02:00 committed by rlar
parent 052898ec27
commit e8481585f4
1 changed files with 6 additions and 5 deletions

View File

@ -273,10 +273,11 @@ void INPtabEnd(INPtables * tab)
static int hash(char *name, int tsize)
{
char *s;
register int i = 0;
unsigned int hash = 5381;
char c;
for (s = name; *s; s++)
i += *s;
return (i % tsize);
while ((c = *name++) != '\0')
hash = (hash * 33) ^ (unsigned) c;
return (int) (hash % (unsigned) tsize);
}