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

ruby-changes:5597

From: mame <ko1@a...>
Date: Thu, 12 Jun 2008 03:33:42 +0900 (JST)
Subject: [ruby-changes:5597] Ruby:r17103 (ruby_1_8): * ext/stringio/stringio.c (strio_init): rewind when reopened.

mame	2008-06-12 03:30:10 +0900 (Thu, 12 Jun 2008)

  New Revision: 17103

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/ext/stringio/stringio.c
    branches/ruby_1_8/test/stringio/test_stringio.rb
    branches/ruby_1_8/version.h

  Log:
    * ext/stringio/stringio.c (strio_init): rewind when reopened.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/test/stringio/test_stringio.rb?r1=17103&r2=17102&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=17103&r2=17102&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/stringio/stringio.c?r1=17103&r2=17102&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=17103&r2=17102&diff_format=u

Index: ruby_1_8/ext/stringio/stringio.c
===================================================================
--- ruby_1_8/ext/stringio/stringio.c	(revision 17102)
+++ ruby_1_8/ext/stringio/stringio.c	(revision 17103)
@@ -269,6 +269,8 @@
 	break;
     }
     ptr->string = string;
+    ptr->pos = 0;
+    ptr->lineno = 0;
 }
 
 static VALUE
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 17102)
+++ ruby_1_8/ChangeLog	(revision 17103)
@@ -1,3 +1,7 @@
+Thu Jun 12 03:20:59 2008  Yusuke Endoh  <mame@t...>
+
+	* ext/stringio/stringio.c (strio_init): rewind when reopened.
+
 Thu Jun 12 00:56:20 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/tk: check proper conditions.  [ruby-dev:35047]
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h	(revision 17102)
+++ ruby_1_8/version.h	(revision 17103)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2008-06-10"
+#define RUBY_RELEASE_DATE "2008-06-12"
 #define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20080610
+#define RUBY_RELEASE_CODE 20080612
 #define RUBY_PATCHLEVEL 5000
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 7
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 10
+#define RUBY_RELEASE_DAY 12
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8/test/stringio/test_stringio.rb
===================================================================
--- ruby_1_8/test/stringio/test_stringio.rb	(revision 17102)
+++ ruby_1_8/test/stringio/test_stringio.rb	(revision 17103)
@@ -40,4 +40,17 @@
     end
     assert_equal("hacker\nother ruby\n", stringio.string)
   end
+  
+  def test_reopen
+    f = StringIO.new("foo\nbar\nbaz\n")
+    assert_equal("foo\n", f.gets)
+    f.reopen("qux\nquux\nquuux\n")
+    assert_equal("qux\n", f.gets)
+
+    f2 = StringIO.new("")
+    f2.reopen(f)
+    assert_equal("quux\n", f2.gets)
+  ensure
+    f.close unless f.closed?
+  end
 end

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

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