From d478c7a7342478847cc1148f4134b5f0db04e1d9 Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 25 Sep 2008 10:13:50 +0000 Subject: Update to RubyGems 1.3.0 r1891 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/package/tar_reader.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'lib/rubygems/package/tar_reader.rb') diff --git a/lib/rubygems/package/tar_reader.rb b/lib/rubygems/package/tar_reader.rb index 8359399207..4aa9c26cc9 100644 --- a/lib/rubygems/package/tar_reader.rb +++ b/lib/rubygems/package/tar_reader.rb @@ -46,17 +46,17 @@ class Gem::Package::TarReader yield entry skip = (512 - (size % 512)) % 512 + pending = size - entry.bytes_read - if @io.respond_to? :seek then + begin # avoid reading... - @io.seek(size - entry.bytes_read, IO::SEEK_CUR) - else - pending = size - entry.bytes_read - + @io.seek pending, IO::SEEK_CUR + pending = 0 + rescue Errno::EINVAL, NameError while pending > 0 do - bread = @io.read([pending, 4096].min).size + bytes_read = @io.read([pending, 4096].min).size raise UnexpectedEOF if @io.eof? - pending -= bread + pending -= bytes_read end end -- cgit v1.2.3