diff options
Diffstat (limited to '')
-rw-r--r-- | database.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/database.h b/database.h index d02bc28..26ae57e 100644 --- a/database.h +++ b/database.h @@ -19,6 +19,7 @@ #include <limits.h> #include <sqlite3.h> #include <stdbool.h> +#include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -49,6 +50,17 @@ enum Type { #undef X }; +static inline uint32_t hash(const char *user) { + if (*user == '~') user++; + uint32_t hash = 0; + for (; *user; ++user) { + hash = (hash << 5) | (hash >> 27); + hash ^= *user; + hash *= 0x27220A95; + } + return hash; +} + static bool verbose; static sqlite3 *db; |