aboutsummaryrefslogblamecommitdiffstats
path: root/hash.c
blob: 4e10bd5a0adfdeef95efb98a66830f95bd231ed5 (plain) (tree)

























                                 
#include <string.h>
#include "hash.h"
#include "gc.h"

static unsigned int
hashfunc(char *s)
{
    unsigned int h = 0;
    while (*s) {
	if (h & 0x80000000) {
	    h <<= 1;
	    h |= 1;
	}
	else
	    h <<= 1;
	h += *s;
	s++;
    }
    return h;
}

#define keycomp(x,y) !strcmp(x,y)

defhashfunc(char *, int, si)
defhashfunc(char *, char *, ss)
defhashfunc(char *, void *, hist)