| changeset 0 | eeadadee24f6 |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cdb_hash.c Fri Oct 19 11:01:15 2007 +0200 @@ -0,0 +1,21 @@ +/* Public domain. */ + +#include "cdb.h" + +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 = CDB_HASHSTART; + while (len) { + h = cdb_hashadd(h,*buf++); + --len; + } + return h; +}