diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-06-01 01:30:44 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-06-01 01:30:44 +0900 |
| commit | 6caeb8f8fba93d0003d20daa4181db2dbad948e1 (patch) | |
| tree | 3491ddc0fc56ae679f065e5f03e6378fd61cdbe9 /src | |
| parent | 6a2cf46ff923a0969ba734f931fbdfbae6251929 (diff) | |
| download | mruby-6caeb8f8fba93d0003d20daa4181db2dbad948e1.tar.gz mruby-6caeb8f8fba93d0003d20daa4181db2dbad948e1.zip | |
hash function should use #eql? internally
Diffstat (limited to 'src')
| -rw-r--r-- | src/hash.c | 2 | ||||
| -rw-r--r-- | src/object.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/hash.c b/src/hash.c index 8cb039cea..21d458def 100644 --- a/src/hash.c +++ b/src/hash.c @@ -32,7 +32,7 @@ mrb_hash_ht_hash_func(mrb_state *mrb, mrb_value key) static inline khint_t mrb_hash_ht_hash_equal(mrb_state *mrb, mrb_value a, mrb_value b) { - return mrb_equal(mrb, a, b); + return mrb_eql(mrb, a, b); } KHASH_INIT(ht, mrb_value, mrb_value, 1, mrb_hash_ht_hash_func, mrb_hash_ht_hash_equal); diff --git a/src/object.c b/src/object.c index 4dc900feb..81e3867a7 100644 --- a/src/object.c +++ b/src/object.c @@ -619,12 +619,12 @@ mrb_Float(mrb_state *mrb, mrb_value val) mrb_value mrb_inspect(mrb_state *mrb, mrb_value obj) { - return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0)); + return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0)); } int mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2) { - return RTEST(mrb_funcall(mrb, obj1, "eql?", 1, obj2)); + if (mrb_obj_eq(mrb, obj1, obj2)) return TRUE; + return RTEST(mrb_funcall(mrb, obj1, "eql?", 1, obj2)); } - |
