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

ruby-changes:1641

From: ko1@a...
Date: 22 Aug 2007 08:27:38 +0900
Subject: [ruby-changes:1641] shyouhei - Ruby:r13132 (ruby_1_8_6): * marshal.c (w_extended): erroneous check condition when dump

shyouhei	2007-08-22 08:27:29 +0900 (Wed, 22 Aug 2007)

  New Revision: 13132

  Modified files:
    branches/ruby_1_8_6/ChangeLog
    branches/ruby_1_8_6/marshal.c
    branches/ruby_1_8_6/version.h

  Log:
    * marshal.c (w_extended): erroneous check condition when dump
      method is defined.  [ruby-core:10646]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ChangeLog?r1=13132&r2=13131
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/version.h?r1=13132&r2=13131
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/marshal.c?r1=13132&r2=13131

Index: ruby_1_8_6/ChangeLog
===================================================================
--- ruby_1_8_6/ChangeLog	(revision 13131)
+++ ruby_1_8_6/ChangeLog	(revision 13132)
@@ -1,3 +1,8 @@
+Wed Aug 22 08:26:33 2007  Yukihiro Matsumoto  <matz@r...>
+
+	* marshal.c (w_extended): erroneous check condition when dump
+	  method is defined.  [ruby-core:10646]
+
 Mon Jun 18 11:29:49 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* intern.h, ext/thread/thread.c: moved prototype of rb_thread_status()
Index: ruby_1_8_6/version.h
===================================================================
--- ruby_1_8_6/version.h	(revision 13131)
+++ ruby_1_8_6/version.h	(revision 13132)
@@ -1,15 +1,15 @@
 #define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2008-08-16"
+#define RUBY_RELEASE_DATE "2007-08-22"
 #define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20070816
-#define RUBY_PATCHLEVEL 40
+#define RUBY_RELEASE_CODE 20070822
+#define RUBY_PATCHLEVEL 41
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 6
 #define RUBY_RELEASE_YEAR 2007
 #define RUBY_RELEASE_MONTH 8
-#define RUBY_RELEASE_DAY 16
+#define RUBY_RELEASE_DAY 22
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8_6/marshal.c
===================================================================
--- ruby_1_8_6/marshal.c	(revision 13131)
+++ ruby_1_8_6/marshal.c	(revision 13132)
@@ -373,8 +373,8 @@
 {
     char *path;
 
-    if (FL_TEST(klass, FL_SINGLETON)) {
-	if (check && RCLASS(klass)->m_tbl->num_entries ||
+    if (check && FL_TEST(klass, FL_SINGLETON)) {
+	if (RCLASS(klass)->m_tbl->num_entries ||
 	    (RCLASS(klass)->iv_tbl && RCLASS(klass)->iv_tbl->num_entries > 1)) {
 	    rb_raise(rb_eTypeError, "singleton can't be dumped");
 	}
@@ -652,13 +652,13 @@
 	    {
 		VALUE v;
 
-		w_class(TYPE_DATA, obj, arg, Qtrue);
 		if (!rb_respond_to(obj, s_dump_data)) {
 		    rb_raise(rb_eTypeError,
 			     "no marshal_dump is defined for class %s",
 			     rb_obj_classname(obj));
 		}
 		v = rb_funcall(obj, s_dump_data, 0);
+		w_class(TYPE_DATA, obj, arg, Qtrue);
 		w_object(v, arg, limit);
 	    }
 	    break;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

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