aboutsummaryrefslogtreecommitdiffstats
path: root/lib/net/ftp.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/net/ftp.rb')
-rw-r--r--lib/net/ftp.rb19
1 files changed, 1 insertions, 18 deletions
diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb
index 2269b750d1..32eef46543 100644
--- a/lib/net/ftp.rb
+++ b/lib/net/ftp.rb
@@ -1246,24 +1246,7 @@ module Net
if !resp.start_with?("257")
raise FTPReplyError, resp
end
- if resp[3, 2] != ' "'
- return ""
- end
- dirname = ""
- i = 5
- n = resp.length
- while i < n
- c = resp[i, 1]
- i = i + 1
- if c == '"'
- if i > n or resp[i, 1] != '"'
- break
- end
- i = i + 1
- end
- dirname = dirname + c
- end
- return dirname
+ return resp.slice(/"(([^"]|"")*)"/, 1).to_s.gsub(/""/, '"')
end
private :parse257