diff -urN squid-3.0-DEVEL-20030310/lib/hash.c squid-3.0-DEVEL-hash/lib/hash.c --- squid-3.0-DEVEL-20030310/lib/hash.c 2003-01-23 00:37:01.000000000 +0000 +++ squid-3.0-DEVEL-hash/lib/hash.c 2003-03-12 16:05:41.000000000 +0000 @@ -65,18 +65,15 @@ static void hash_next_bucket(hash_table * hid); +/* Updated to FNV1a hash - Mar 12 2003 - GT */ unsigned int hash_string(const void *data, unsigned int size) { - const char *s = data; - unsigned int n = 0; - unsigned int j = 0; - unsigned int i = 0; - while (*s) { - j++; - n ^= 271 * (unsigned) *s++; - } - i = n ^ (j * 271); + unsigned int i=2166136261UL; + + while( *data ) + i = (i * 16777619UL) ^ *data++; + return i % size; }