[macruby-changes] [600] MacRuby/trunk/class.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Sep 15 18:05:32 PDT 2008
Revision: 600
http://trac.macosforge.org/projects/ruby/changeset/600
Author: lsansonetti at apple.com
Date: 2008-09-15 18:05:31 -0700 (Mon, 15 Sep 2008)
Log Message:
-----------
in isEqual: always return false if given obj is NULL
Modified Paths:
--------------
MacRuby/trunk/class.c
Modified: MacRuby/trunk/class.c
===================================================================
--- MacRuby/trunk/class.c 2008-09-13 19:55:35 UTC (rev 599)
+++ MacRuby/trunk/class.c 2008-09-16 01:05:31 UTC (rev 600)
@@ -64,10 +64,15 @@
static BOOL
rb_obj_imp_isEqual(void *rcv, SEL sel, void *obj)
{
- if (*(Class *)rcv == (Class)rb_cFixnum && *(Class *)obj == (Class)rb_cFixnum) {
+ if (obj == NULL)
+ return false;
+
+ if (*(Class *)rcv == (Class)rb_cFixnum
+ && *(Class *)obj == (Class)rb_cFixnum) {
/* XXX check if Numeric#== is not overriden */
return RFIXNUM(rcv)->value == RFIXNUM(obj)->value;
}
+
return rb_funcall((VALUE)rcv, idEq, 1, OC2RB(obj)) == Qtrue;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080915/34abed98/attachment.html
More information about the macruby-changes
mailing list