You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
279 B
22 lines
279 B
9 years ago
|
/* 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;
|
||
|
}
|