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

ruby-changes:25430

From: naruse <ko1@a...>
Date: Tue, 6 Nov 2012 14:30:40 +0900 (JST)
Subject: [ruby-changes:25430] naruse:r37487 (trunk): * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):

naruse	2012-11-06 14:30:17 +0900 (Tue, 06 Nov 2012)

  New Revision: 37487

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37487

  Log:
    * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
      don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278]

  Added directories:
    trunk/test/net/protocol/
  Added files:
    trunk/test/net/protocol/test_protocol.rb
  Modified files:
    trunk/ChangeLog
    trunk/lib/net/protocol.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37486)
+++ ChangeLog	(revision 37487)
@@ -1,3 +1,8 @@
+Tue Nov  6 14:25:09 2012  NARUSE, Yui  <naruse@r...>
+
+	* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
+	  don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278]
+
 Tue Nov  6 09:42:26 2012  NARUSE, Yui  <naruse@r...>
 
 	* string.c (rb_str_b): Add String#b, returning a copied string
Index: lib/net/protocol.rb
===================================================================
--- lib/net/protocol.rb	(revision 37486)
+++ lib/net/protocol.rb	(revision 37487)
@@ -322,7 +322,7 @@
 
     def each_crlf_line(src)
       buffer_filling(@wbuf, src) do
-        while line = @wbuf.slice!(/\A.*(?:\n|\r\n|\r(?!\z))/n)
+        while line = @wbuf.slice!(/\A.*(?:\n|\r\n|\r(?!\z))/)
           yield line.chomp("\n") + "\r\n"
         end
       end
Index: test/net/protocol/test_protocol.rb
===================================================================
--- test/net/protocol/test_protocol.rb	(revision 0)
+++ test/net/protocol/test_protocol.rb	(revision 37487)
@@ -0,0 +1,11 @@
+require "test/unit"
+require "net/protocol"
+require "stringio"
+
+class TestProtocol < Test::Unit::TestCase
+  def test_each_crlf_line
+    assert_output('', '') do
+      Net::InternetMessageIO.new(StringIO.new("")).write_message("\u3042\r\n\u3044\r\n\u3046")
+    end
+  end
+end

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

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