ruby-changes:9447
From: ko1 <ko1@a...>
Date: Thu, 25 Dec 2008 14:42:04 +0900 (JST)
Subject: [ruby-changes:9447] Ruby:r20985 (trunk): * vm_insnhelper.c (vm_method_search): fix control flow bug.
ko1 2008-12-25 14:41:47 +0900 (Thu, 25 Dec 2008) New Revision: 20985 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20985 Log: * vm_insnhelper.c (vm_method_search): fix control flow bug. (commited at r20981) Modified files: trunk/ChangeLog trunk/vm_insnhelper.c Index: ChangeLog =================================================================== --- ChangeLog (revision 20984) +++ ChangeLog (revision 20985) @@ -1,3 +1,8 @@ +Thu Dec 25 14:32:23 2008 Koichi Sasada <ko1@a...> + + * vm_insnhelper.c (vm_method_search): fix control flow bug. + (commited at r20981) + Thu Dec 25 13:28:20 2008 NAKAMURA Usaku <usa@r...> * io.c (rb_io_flush): fsync() after buffer is flushed on win32. Index: vm_insnhelper.c =================================================================== --- vm_insnhelper.c (revision 20984) +++ vm_insnhelper.c (revision 20985) @@ -1172,24 +1172,22 @@ static inline VALUE vm_search_normal_superclass(VALUE klass, VALUE recv) { - VALUE sk = 0; - if (BUILTIN_TYPE(klass) == T_CLASS) { - sk = RCLASS_SUPER(klass); + return RCLASS_SUPER(klass); } else if (BUILTIN_TYPE(klass) == T_MODULE) { VALUE k = CLASS_OF(recv); while (k) { if (BUILTIN_TYPE(k) == T_ICLASS && RBASIC(k)->klass == klass) { - sk = RCLASS_SUPER(k); - break; + return RCLASS_SUPER(k); } k = RCLASS_SUPER(k); } - sk = rb_cObject; + return rb_cObject; } - - return sk; + else { + rb_bug("vm_search_normal_superclass: should not be reach here"); + } } static void -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/