예제 #1
0
u_int32_t
hash2(const void *key, size_t len)
{
	u_int32_t h;
	u_int8_t *e, c, *k;

	k = (u_int8_t *)key;
	e = k + len;
	for (h = 0; k != e;) {
		c = *k++;
		if (!c && k > e)
			break;
		dcharhash(h, c);
	}
	return (h);
}
예제 #2
0
unsigned int
hash2(HDBMDATUM hkey)
{
	register u_char *e, c;
	register int h;
	register u_char *key = (u_char *)hkey.dat_ptr;
	register int len = hkey.dat_len;

	e = key + len;
	for (h = 0; key != e;) {
		c = *key++;
		if (!c && key > e)
			break;
		dcharhash(h, c);
	}
	return ((unsigned int) h);
}
예제 #3
0
static u_int32_t
hash2(const void *keyarg, size_t len)
{
	const u_char *e, *key;
	u_int32_t h;
	u_char c;

	key = keyarg;
	e = key + len;
	for (h = 0; key != e;) {
		c = *key++;
		if (!c && key > e)
			break;
		dcharhash(h, c);
	}
	return (h);
}
예제 #4
0
파일: h_func.c 프로젝트: jvirkki/heliod
static uint32
hash2(const void *keyarg, size_t len)
{
    register const uint8 *e, *key;
    register uint32 h;
    register uint8 c;

    key = (const uint8 *)keyarg;
    e = key + len;
    for (h = 0; key != e;) {
        c = *key++;
        if (!c && key > e)
            break;
        dcharhash(h, c);
    }
    return (h);
}