summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/mruby/khash.h5
-rw-r--r--src/symbol.c2
2 files changed, 3 insertions, 4 deletions
diff --git a/include/mruby/khash.h b/include/mruby/khash.h
index 9950dbc80..06c451e44 100644
--- a/include/mruby/khash.h
+++ b/include/mruby/khash.h
@@ -190,10 +190,9 @@ static const uint8_t __m[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
#define kh_size(h) ((h)->size)
#define kh_n_buckets(h) ((h)->n_buckets)
-//#define kh_int_hash_func(mrb,key) (uint32_t)(key)
-#define kh_int_hash_func(mrb,key) (uint32_t)((key)^((key)<<2)^((key)>>2))
+#define kh_int_hash_func(mrb,key) (khint_t)((key)^((key)<<2)^((key)>>2))
#define kh_int_hash_equal(mrb,a, b) (a == b)
-#define kh_int64_hash_func(mrb,key) (uint32_t)((key)>>33^(key)^(key)<<11)
+#define kh_int64_hash_func(mrb,key) (khint_t)((key)>>33^(key)^(key)<<11)
#define kh_int64_hash_equal(mrb,a, b) (a == b)
static inline khint_t __ac_X31_hash_string(const char *s)
{
diff --git a/src/symbol.c b/src/symbol.c
index 89e81af0e..aa5b659fa 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -17,7 +17,7 @@
#include <stdio.h>
/* ------------------------------------------------------ */
-KHASH_MAP_INIT_INT(s2n, const char*);
+KHASH_INIT(s2n, mrb_sym, const char*, 1, kh_int_hash_func, kh_int_hash_equal)
KHASH_MAP_INIT_STR(n2s, mrb_sym);
/* ------------------------------------------------------ */
mrb_sym