summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Boussier <byroot@ruby-lang.org>2022-10-07 14:44:13 +0200
committerJean Boussier <jean.boussier@gmail.com>2022-10-10 11:35:16 +0200
commit1a7e7bb2d1dd507a6fdf883548633bdd14bf6854 (patch)
tree304d04ae8b2fe3ee95b12c38b8e346ddb6359f72
parentf1c89c81478d3520fec6b34ec2d411a1e85b7769 (diff)
downloadruby-1a7e7bb2d1dd507a6fdf883548633bdd14bf6854.tar.gz
object.c: rb_eql returns int not VALUE
It works, but assumes `Qfalse == 0`, which is true today but might not be forever.
-rw-r--r--include/ruby/internal/intern/object.h4
-rw-r--r--object.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/include/ruby/internal/intern/object.h b/include/ruby/internal/intern/object.h
index 19af49b140..b9ffa57c06 100644
--- a/include/ruby/internal/intern/object.h
+++ b/include/ruby/internal/intern/object.h
@@ -92,8 +92,8 @@ VALUE rb_class_new_instance_kw(int argc, const VALUE *argv, VALUE klass, int kw_
*
* @param[in] lhs Comparison left hand side.
* @param[in] rhs Comparison right hand side.
- * @retval RUBY_Qtrue They are equal.
- * @retval RUBY_Qfalse Otherwise.
+ * @retval non-zero They are equal.
+ * @retval 0 Otherwise.
* @note This function actually calls `lhs.eql?(rhs)` so you cannot
* implement your class' `#eql?` method using it.
*/
diff --git a/object.c b/object.c
index 2328b20757..c47d9ab3b2 100644
--- a/object.c
+++ b/object.c
@@ -134,12 +134,12 @@ rb_eql(VALUE obj1, VALUE obj2)
{
VALUE result;
- if (obj1 == obj2) return Qtrue;
+ if (obj1 == obj2) return TRUE;
result = rb_eql_opt(obj1, obj2);
if (result == Qundef) {
result = rb_funcall(obj1, id_eql, 1, obj2);
}
- return RBOOL(RTEST(result));
+ return RTEST(result);
}
/**