チケット #2291 が更新されました。 (by Yui NARUSE)


あぁ、仰るとおりです。

>(1) connect前にftp.binary = trueとしたことを覚えておいて、ftp.connect時にTYPEコマンドを
>    発行するようにする。

こちらだったら以下のような感じですかね。

diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb
index 239bd3c..351e624 100644
--- a/lib/net/ftp.rb
+++ b/lib/net/ftp.rb
@@ -128,7 +128,7 @@ module Net
     #
     def initialize(host = nil, user = nil, passwd = nil, acct = nil)
       super()
-      @binary = false
+      @binary = nil
       @passive = false
       @debug_mode = false
       @resume = false
@@ -194,6 +194,7 @@ module Net
        @sock = open_socket(host, port)
        voidresp
       end
+      @binary ? voidcmd("TYPE I") : voidcmd("TYPE A") unless @binary.nil?
     end

     #
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2291

----------------------------------------
http://redmine.ruby-lang.org