diff options
author | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:05:14 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:05:14 +0000 |
commit | 72f72d64a422d6628c4796f5c0bf2e508f134214 (patch) | |
tree | 0c9ea90cc53310832c977265521fb44db24a515e /hash.c | |
parent | Adding upstream version 0.3 (diff) | |
download | w3m-72f72d64a422d6628c4796f5c0bf2e508f134214.tar.gz w3m-72f72d64a422d6628c4796f5c0bf2e508f134214.zip |
Adding upstream version 0.5.1upstream/0.5.1
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +/* $Id: hash.c,v 1.5 2003/04/07 16:27:10 ukai Exp $ */ +#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) + +/* *INDENT-OFF* */ +defhashfunc(char *, int, si) +defhashfunc(char *, char *, ss) +defhashfunc(char *, void *, sv) +defhashfunc_i(int, void *, iv) +/* *INDENT-ON* */ |