Modified: MacRuby/trunk/class.c (599 => 600)
--- 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;
}