ucspi-ssl  0.99e
TLS encryption for IPv6 communication
cdb_hash.c
Go to the documentation of this file.
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 }
char buf[SSL_NAME_LEN]
Definition: sslhandle.c:125
uint32 cdb_hashadd(uint32 h, unsigned char c)
Definition: cdb_hash.c:5
#define CDB_HASHSTART
Definition: cdb.h:8
uint32 cdb_hash(const char *buf, unsigned int len)
Definition: cdb_hash.c:11