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:
parent
052898ec27
commit
e8481585f4
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue