Permalink
Browse files

symbol table key should be mrb_sym, not int32_t

  • Loading branch information...
1 parent 8180fee commit 364e6b5a50b9941856ef971dc6ca2d7cf2e4212a @matz matz committed Jun 1, 2012
Showing with 3 additions and 4 deletions.
  1. +2 −3 include/mruby/khash.h
  2. +1 −1 src/symbol.c
@@ -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)
{
View
@@ -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

0 comments on commit 364e6b5

Please sign in to comment.