summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ftplib.rb20
-rw-r--r--lib/jcode.rb4
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