summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/net/ftp.rb8
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4289378a1a..1c1c53b056 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Nov 19 23:17:06 2009 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/ftp.rb (putbinaryfile): use APPE for resume.
+ Thanks, Tomoyuki Chikanaga.
+
Thu Nov 19 22:50:05 2009 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (flag_list): untaint strings to intern in the safe
diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb
index c35ee368af..0bf1fb25ca 100644
--- a/lib/net/ftp.rb
+++ b/lib/net/ftp.rb
@@ -461,7 +461,7 @@ module Net
end
synchronize do
with_binary(true) do
- conn = transfercmd(cmd, rest_offset)
+ conn = transfercmd(cmd)
loop do
buf = file.read(blocksize)
break if buf == nil
@@ -605,7 +605,11 @@ module Net
f = open(localfile)
begin
f.binmode
- storbinary("STOR " + remotefile, f, blocksize, rest_offset, &block)
+ if rest_offset
+ storbinary("APPE " + remotefile, f, blocksize, rest_offset, &block)
+ else
+ storbinary("STOR " + remotefile, f, blocksize, rest_offset, &block)
+ end
ensure
f.close
end