diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/net/ftp.rb | 9 |
1 files changed, 8 insertions, 1 deletions
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 |