summaryrefslogtreecommitdiff
path: root/range.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-05 05:01:12 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-05 05:01:12 +0000
commitda19797648fae92b0e283ce4cdf84fb20bfc89a6 (patch)
treea5f81abc527c9cccf66c40cda97abb27732a32aa /range.c
parentc82826ce5f90f2b678b5e42309c4fd226863230f (diff)
* range.c (range_eql, range_eq): fixed equality to work for
subclasses of Range. a patch from Marc-Andre Lafortune. [ruby-core:22190] * test/ruby/test_range.rb: add assertions for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'range.c')
-rw-r--r--range.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/range.c b/range.c
index e013a8a13f..6431fc9cee 100644
--- a/range.c
+++ b/range.c
@@ -125,7 +125,7 @@ range_eq(VALUE range, VALUE obj)
{
if (range == obj)
return Qtrue;
- if (!rb_obj_is_instance_of(obj, rb_obj_class(range)))
+ if (!rb_obj_is_kind_of(obj, rb_cRange))
return Qfalse;
if (!rb_equal(RANGE_BEG(range), RANGE_BEG(obj)))
@@ -187,7 +187,7 @@ range_eql(VALUE range, VALUE obj)
{
if (range == obj)
return Qtrue;
- if (!rb_obj_is_instance_of(obj, rb_obj_class(range)))
+ if (!rb_obj_is_kind_of(obj, rb_cRange))
return Qfalse;
if (!rb_eql(RANGE_BEG(range), RANGE_BEG(obj)))