release
[hcoop/zz_old/debian/djbdns.git] / cdb_hash.c
1 /* Public domain. */
2
3 #include "cdb.h"
4
5 uint32 cdb_hashadd(uint32 h,unsigned char c)
6 {
7 h += (h << 5);
8 return h ^ c;
9 }
10
11 uint32 cdb_hash(const char *buf,unsigned int len)
12 {
13 uint32 h;
14
15 h = CDB_HASHSTART;
16 while (len) {
17 h = cdb_hashadd(h,*buf++);
18 --len;
19 }
20 return h;
21 }