diff options
author | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:18:09 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:18:09 +0000 |
commit | 5f8e0f8ef9a422691dd72e8a953a42a41478fcb4 (patch) | |
tree | 4b2df4796a534793648b3c4fc532fc36bd0cd525 /hash.c | |
parent | Releasing debian version 0.3-2.4 (diff) | |
download | w3m-5f8e0f8ef9a422691dd72e8a953a42a41478fcb4.tar.gz w3m-5f8e0f8ef9a422691dd72e8a953a42a41478fcb4.zip |
Releasing debian version 0.5.1-1debian/0.5.1-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* */ |