--- cdb_hash.c.orig 1998-06-15 +++ cdb_hash.c 2007-03-21 --- .././qmail-1.03/cdb_hash.c Mon Jun 15 12:53:16 1998 +++ ../qmail-1.03.2418/cdb_hash.c Sun Jan 15 16:10:10 2006 @@ -1,16 +1,21 @@ +/* Public domain. */ + #include "cdb.h" -uint32 cdb_hash(buf,len) -unsigned char *buf; -unsigned int len; +uint32 cdb_hashadd(uint32 h,unsigned char c) +{ + h += (h << 5); + return h ^ c; +} + +uint32 cdb_hash(char *buf,unsigned int len) { uint32 h; - h = 5381; + h = CDB_HASHSTART; while (len) { + h = cdb_hashadd(h,*buf++); --len; - h += (h << 5); - h ^= (uint32) *buf++; } return h; }