diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | vm_method.c | 5 |
2 files changed, 6 insertions, 4 deletions
@@ -1,4 +1,7 @@ -Tue Sep 29 13:37:50 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> +Tue Sep 29 13:48:58 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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; } |