From a83b090df287faab2600783fb9cb0b9a081c8d4a Mon Sep 17 00:00:00 2001 From: kcwu Date: Mon, 28 Feb 2005 10:45:09 +0000 Subject: use FNV hash function git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2566 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- util/poststat.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'util') diff --git a/util/poststat.c b/util/poststat.c index f89d2109..b300e961 100644 --- a/util/poststat.c +++ b/util/poststat.c @@ -2,6 +2,7 @@ /* 統計今日、週、月、年熱門話題 */ #include "bbs.h" +#include "fnv_hash.h" char *myfile[] = {"day", "week", "month", "year"}; @@ -78,19 +79,6 @@ ci_strcmp(s1, s2) return 0; } -int -hash(key) - char *key; -{ - int i, value = 0; - - for (i = 0; key[i] && i < 80; i++) - value += key[i] < 0 ? -key[i] : key[i]; - - value = value % HASHSIZE; - return value; -} - /* ---------------------------------- */ /* hash structure : array + link list */ @@ -104,7 +92,7 @@ search(t) struct postrec *p, *q, *s; int i, found = 0; - i = hash(t->title); + i = fnv1a_32_str(t->title, FNV1_32_INIT) % HASHSIZE; q = NULL; p = bucket[i]; while (p && (!found)) -- cgit v1.2.3