[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]