summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/VypressChat/contrib/strhashfunc.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/VypressChat/contrib/strhashfunc.c')
-rw-r--r--plugins/!NotAdopted/VypressChat/contrib/strhashfunc.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/!NotAdopted/VypressChat/contrib/strhashfunc.c b/plugins/!NotAdopted/VypressChat/contrib/strhashfunc.c
new file mode 100644
index 0000000000..54bd87f6d9
--- /dev/null
+++ b/plugins/!NotAdopted/VypressChat/contrib/strhashfunc.c
@@ -0,0 +1,21 @@
+#include <string.h>
+
+#include "strhashfunc.h"
+
+unsigned int hashtable_strhashfunc(void * p)
+{
+ const char * str = (const char *)p;
+ unsigned int hash = 5381;
+ int c;
+
+ while ((c = *str++) != '\0')
+ hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
+
+ return hash;
+}
+
+int hashtable_strequalfunc(void * str1, void * str2)
+{
+ return !strcmp(str1, str2);
+}
+