I am trying to decompress a 80MB file (decompresses to 300MB), but I
keep getting a buffer error. I thought I had a workaround using
chunks, but it fails with 20M left to go. Any help or suggestions are
greatly appreciated.
in `read’: buffer error (Zlib::BufError)
class Zlib::GzipReader
def each_chunk(chunk_size=1024)
yield read(chunk_size) until eof
end
end
gz = Zlib::GzipReader.open(zip_file)
File.open( non_zip_file, ‘wb’ ) do |f|
gz.each_chunk {|chunk| f.write(chunk)}
end
strange… all I can think of is that the ruby installer you used has
a foobar’ed zlib1.dll. Have you tried upgrading to 1.8.5? Also, what
version of zlib does your ruby claim to have?
I recall having had that problem a year or two ago.
I think it was fixed by a version update, but I don’t
know the version numbers any more. It was definitely
a bug in zlib though, and I definitely got around it
without having to patch the source.