diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ftplib.rb | 20 | ||||
-rw-r--r-- | lib/jcode.rb | 4 |
2 files changed, 13 insertions, 11 deletions
diff --git a/lib/ftplib.rb b/lib/ftplib.rb index b58a01cdaa..4069089cc3 100644 --- a/lib/ftplib.rb +++ b/lib/ftplib.rb @@ -389,19 +389,20 @@ class FTP return files end - def list(*args) + def list(*args, &block) cmd = "LIST" - if iterator? - callback = Proc.new - elsif args[-1].is_a?(Proc) - callback = args.pop - else - callback = nil - end args.each do |arg| cmd = cmd + " " + arg end - retrlines(cmd, callback) + if block + retrlines(cmd, &block) + else + lines = [] + retrlines(cmd) do |line| + lines << line + end + return lines + end end alias ls list alias dir list @@ -441,6 +442,7 @@ class FTP end def size(filename) + voidcmd("TYPE I") resp = sendcmd("SIZE " + filename) if resp[0, 3] == "213" return resp[3 .. -1].strip.to_i diff --git a/lib/jcode.rb b/lib/jcode.rb index d7c16a173c..6d71518c70 100644 --- a/lib/jcode.rb +++ b/lib/jcode.rb @@ -17,7 +17,7 @@ class String elsif $KCODE =~ /^e/i self =~ /[\xa1-\xfe][\xa1-\xfe]/n else - FALSE + false end end @@ -42,7 +42,7 @@ class String if self[0..-2] == to[0..-2] first = self[-2].chr for c in self[-1] .. to[-1] - if first+c.chr.mbchar? + if (first+c.chr).mbchar? yield self[0..-2]+c.chr end end |