[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