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

ruby-changes:2770

From: ko1@a...
Date: 17 Dec 2007 16:06:33 +0900
Subject: [ruby-changes:2770] gotoyuzo - Ruby:r14261 (trunk): * ext/openssl/lib/openssl/buffering.rb (Buffering#gets): added second

gotoyuzo	2007-12-17 16:06:16 +0900 (Mon, 17 Dec 2007)

  New Revision: 14261

  Modified files:
    trunk/ChangeLog
    trunk/ext/openssl/lib/openssl/buffering.rb
    trunk/test/openssl/test_ssl.rb

  Log:
    * ext/openssl/lib/openssl/buffering.rb (Buffering#gets): added second
      optional argument to specify maximum length limit.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/openssl/lib/openssl/buffering.rb?r1=14261&r2=14260
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14261&r2=14260
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/openssl/test_ssl.rb?r1=14261&r2=14260

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14260)
+++ ChangeLog	(revision 14261)
@@ -1,3 +1,8 @@
+Mon Dec 17 16:04:16 2007  GOTOU Yuuzou  <gotoyuzo@n...>
+
+	* ext/openssl/lib/openssl/buffering.rb (Buffering#gets): added second
+	  optional argument to specify maximum length limit.
+
 Mon Dec 17 16:02:30 2007  GOTOU Yuuzou  <gotoyuzo@n...>
 
 	* lib/webrick/httprequest.rb, lib/webrick/cgi.rb: Request-Line or
Index: ext/openssl/lib/openssl/buffering.rb
===================================================================
--- ext/openssl/lib/openssl/buffering.rb	(revision 14260)
+++ ext/openssl/lib/openssl/buffering.rb	(revision 14261)
@@ -99,7 +99,7 @@
     ret
   end
 
-  def gets(eol=$/)
+  def gets(eol=$/, limit=nil)
     idx = @rbuffer.index(eol)
     until @eof
       break if idx
@@ -111,6 +111,9 @@
     else
       size = idx ? idx+eol.size : nil
     end
+    if limit and limit >= 0
+      size = [size, limit].min
+    end
     consume_rbuff(size)
   end
 
Index: test/openssl/test_ssl.rb
===================================================================
--- test/openssl/test_ssl.rb	(revision 14260)
+++ test/openssl/test_ssl.rb	(revision 14261)
@@ -136,6 +136,11 @@
         str = "x" * 100 + "\n"
         ssl.puts(str)
         assert_equal(str, ssl.gets)
+
+        str = "x" * 100
+        ssl.puts(str)
+        assert_equal(str, ssl.gets("\n", 100))
+        assert_equal("\n", ssl.gets)
       }
 
       # read and write

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

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