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

ruby-changes:25408

From: glass <ko1@a...>
Date: Sun, 4 Nov 2012 11:56:26 +0900 (JST)
Subject: [ruby-changes:25408] glass:r37465 (trunk): * lib/fileutils.rb (module FileUtils): repatch

glass	2012-11-04 11:56:11 +0900 (Sun, 04 Nov 2012)

  New Revision: 37465

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

  Log:
    * lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622]
      [Feature #5337]. improve performance of FileUtils.compare_stream.
      [ruby-core:47545] [Feature #7028]

  Modified files:
    trunk/ChangeLog
    trunk/lib/fileutils.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37464)
+++ ChangeLog	(revision 37465)
@@ -1,3 +1,9 @@
+Sun Nov  4 11:47:39 2012  Masaki Matsushita  <glass.saga@g...>
+
+	* lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622]
+	  [Feature #5337]. improve performance of FileUtils.compare_stream.
+	  [ruby-core:47545] [Feature #7028]
+
 Sun Nov  4 11:27:54 2012  Masaki Matsushita  <glass.saga@g...>
 
 	* array.c (recursive_equal): fix to return true when self and other
Index: lib/fileutils.rb
===================================================================
--- lib/fileutils.rb	(revision 37464)
+++ lib/fileutils.rb	(revision 37465)
@@ -894,16 +894,13 @@
   #
   def compare_stream(a, b)
     bsize = fu_stream_blksize(a, b)
-    sa = sb = nil
-    while sa == sb
-      sa = a.read(bsize)
-      sb = b.read(bsize)
-      unless sa and sb
-        if sa.nil? and sb.nil?
-          return true
-        end
-      end
-    end
+    sa = ""
+    sb = ""
+    begin
+      a.read(bsize, sa)
+      b.read(bsize, sb)
+      return true if sa.empty? && sb.empty?
+    end while sa == sb
     false
   end
 

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

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