From 16969412b3def3661b7da4104609a770b1fbf898 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 29 Sep 2009 04:49:00 +0000 Subject: [PATCH] * vm_method.c (rb_method_definition_eq): non-null definition is not equal to null definition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++- vm_method.c | 5 ++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1c9c20a1b5..548e0a24f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,7 @@ -Tue Sep 29 13:37:50 2009 Nobuyoshi Nakada +Tue Sep 29 13:48:58 2009 Nobuyoshi Nakada + + * vm_method.c (rb_method_definition_eq): non-null definition is + not equal to null definition. * vm_method.c (rb_add_method_def): nothing to do if old method had same definition. [ruby-dev:39397] diff --git a/vm_method.c b/vm_method.c index 434e8424cc..808c64c47e 100644 --- a/vm_method.c +++ b/vm_method.c @@ -799,9 +799,8 @@ rb_method_entry_eq(const rb_method_entry_t *m1, const rb_method_entry_t *m2) static int rb_method_definition_eq(const rb_method_definition_t *d1, const rb_method_definition_t *d2) { - if (!d1) { - return !d2; - } + if (d1 == d2) return 1; + if (!d1 || !d2) return 0; if (d1->type != d2->type) { return 0; }