summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-06-01 01:30:44 +0900
committerYukihiro Matsumoto <[email protected]>2012-06-01 01:30:44 +0900
commit6caeb8f8fba93d0003d20daa4181db2dbad948e1 (patch)
tree3491ddc0fc56ae679f065e5f03e6378fd61cdbe9
parent6a2cf46ff923a0969ba734f931fbdfbae6251929 (diff)
downloadmruby-6caeb8f8fba93d0003d20daa4181db2dbad948e1.tar.gz
mruby-6caeb8f8fba93d0003d20daa4181db2dbad948e1.zip
hash function should use #eql? internally
-rw-r--r--src/hash.c2
-rw-r--r--src/object.c6
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));
}
-