in lib/grit/git-ruby/internal/pack.rb [323:342]
def unpack_compressed(offset, destsize)
outdata = ""
with_packfile do |packfile|
packfile.seek(offset)
zstr = Zlib::Inflate.new
while outdata.size < destsize
indata = packfile.read(4096)
if indata.size == 0
raise PackFormatError, 'error reading pack data'
end
outdata << zstr.inflate(indata)
end
if outdata.size > destsize
raise PackFormatError, 'error reading pack data'
end
zstr.close
end
outdata
end