From e0a5ffa941d22ef4320db4ea803594e4dbb480d6 Mon Sep 17 00:00:00 2001 From: shugo Date: Fri, 13 Jun 2003 00:26:51 +0000 Subject: [PATCH] * lib/net/ftp.rb (storebinary): seek correctly. Thanks, William Webber. * lib/net/ftp.rb (putbinaryfile): rescue FTPPermError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/net/ftp.rb | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 58958451db..852244c714 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Jun 13 09:24:39 2003 Shugo Maeda + + * lib/net/ftp.rb (storebinary): seek correctly. Thanks, William Webber. + + * lib/net/ftp.rb (putbinaryfile): rescue FTPPermError. + Tue Jun 10 14:26:30 2003 why the lucky stiff * ext/syck/token.c: preserve newlines prepended to a block. diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb index 5a08e46280..b34c648bf3 100644 --- a/lib/net/ftp.rb +++ b/lib/net/ftp.rb @@ -407,6 +407,9 @@ module Net # the data, in chunks of +blocksize+ characters. # def storbinary(cmd, file, blocksize, rest_offset = nil, &block) # :yield: data + if rest_offset + file.seek(rest_offset, IO::SEEK_SET) + end synchronize do voidcmd("TYPE I") conn = transfercmd(cmd, rest_offset) @@ -509,7 +512,11 @@ module Net def putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE, &block) # :yield: line/data if @resume - rest_offset = size(remotefile) + begin + rest_offset = size(remotefile) + rescue Net::FTPPermError + rest_offset = nil + end else rest_offset = nil end