mirror of
https://github.com/stefanocasazza/ULib.git
synced 2025-09-28 19:05:55 +08:00
22 lines
275 B
C
22 lines
275 B
C
/* 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;
|
|
}
|