Commit | Line | Data |
---|---|---|
dc0d77d7 CE |
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 | } |