new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / analysisd / cdb / cdb_hash.c
1 /* Public domain */
2 /* Adapted from DJB's original cdb-0.75 package */
3
4 #include "cdb.h"
5
6
7 uint32 cdb_hashadd(uint32 h, unsigned char c)
8 {
9     h += (h << 5);
10     return h ^ c;
11 }
12
13 uint32 cdb_hash(char *buf, unsigned int len)
14 {
15     uint32 h;
16
17     h = CDB_HASHSTART;
18     while (len) {
19         h = cdb_hashadd(h, *buf++);
20         --len;
21     }
22     return h;
23 }