diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib/net/ftp.rb | 8 |
2 files changed, 10 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Mon Mar 26 23:34:40 2012 Shugo Maeda <shugo@ruby-lang.org> + + * lib/net/ftp.rb (parse227, parse228, parse229): don't use local + variables defined by named capture for other Ruby implementations + such as Rubinius. + Mon Mar 26 23:19:03 2012 Shugo Maeda <shugo@ruby-lang.org> * lib/net/ftp.rb (parse_pasv_port): refactored. diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb index a92a792b35..46260dfc8e 100644 --- a/lib/net/ftp.rb +++ b/lib/net/ftp.rb @@ -924,7 +924,7 @@ module Net raise FTPReplyError, resp end if /\((?<host>\d+(,\d+){3}),(?<port>\d+,\d+)\)/ =~ resp - return parse_pasv_ipv4_host(host), parse_pasv_port(port) + return parse_pasv_ipv4_host($~["host"]), parse_pasv_port($~["port"]) else raise FTPProtoError, resp end @@ -940,9 +940,9 @@ module Net raise FTPReplyError, resp end if /\(4,4,(?<host>\d+(,\d+){3}),2,(?<port>\d+,\d+)\)/ =~ resp - return parse_pasv_ipv4_host(host), parse_pasv_port(port) + return parse_pasv_ipv4_host($~["host"]), parse_pasv_port($~["port"]) elsif /\(6,16,(?<host>\d+(,(\d+)){15}),2,(?<port>\d+,\d+)\)/ =~ resp - return parse_pasv_ipv6_host(host), parse_pasv_port(port) + return parse_pasv_ipv6_host($~["host"]), parse_pasv_port($~["port"]) else raise FTPProtoError, resp end @@ -978,7 +978,7 @@ module Net raise FTPReplyError, resp end if /\((?<d>[!-~])\k<d>\k<d>(?<port>\d+)\k<d>\)/ =~ resp - return @sock.peeraddr[3], port.to_i + return @sock.peeraddr[3], $~["port"].to_i else raise FTPProtoError, resp end |