diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2009-08-15 18:07:02 +0200 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2009-08-15 18:07:02 +0200 |
commit | 3efd96ff79f4f5669c3422a1f592f09176c77121 (patch) | |
tree | 0efd426765206625fdbf64e4c9cab4cce83010da /user.c | |
parent | 62b45cb26d7868b21ba4b854d2d3b8befeee9327 (diff) |
Added a hash table to keep track of words.
Moved the sdbm hash function into sdbm.c.
Init and free users and words inside the channel loop.
Increased the size of the user hash table to 1000.
Diffstat (limited to 'user.c')
-rw-r--r-- | user.c | 10 |
1 files changed, 1 insertions, 9 deletions
@@ -2,6 +2,7 @@ #include <string.h> #include "user.h" +#include "sdbm.h" struct user_t *users; @@ -10,15 +11,6 @@ void user_init() { memset(users, 0, sizeof(struct user_t) * USERS_MAX); } -static unsigned long sdbm(char *str) { - unsigned long hash = 0; - int c; - while(c = *str++) { - hash = c + (hash << 6) + (hash << 16) - hash; - } - return hash; -} - struct user_t *user_get(char *nick) { unsigned long hash = sdbm(nick); int index = hash % USERS_MAX; |