From: merch-redmine@... Date: 2020-01-17T16:04:35+00:00 Subject: [ruby-core:96929] [Ruby master Bug#9790] Zlib::GzipReader only decompressed the first of concatenated files Issue #9790 has been updated by jeremyevans0 (Jeremy Evans). shyouhei (Shyouhei Urabe) wrote: > Do you know if there are cases when taking a random member of such gzip file is actually useful? It's not taking a random member, it's processing the separate gzip streams in order, which is actually useful. For example, in OpenBSD's packages, the first gzip stream in the package contains the package metadata. That is read completely, and after processing the metadata, the programs that handle packages determine whether it needs to read the actual package data (stored in the second gzip stream). If it doesn't need to process the package data, it can then stop at that point without having read any more than it needs to. ---------------------------------------- Bug #9790: Zlib::GzipReader only decompressed the first of concatenated files https://bugs.ruby-lang.org/issues/9790#change-83956 * Author: quainjn (Jake Quain) * Status: Feedback * Priority: Normal * Assignee: drbrain (Eric Hodel) * Target version: * ruby -v: 2.1.1 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- There is a similar old issue in Node that I came across that perfectly describes the situation in ruby: https://github.com/joyent/node/issues/6032 In ruby given the following setup: ``` echo "1" > 1.txt echo "2" > 2.txt gzip 1.txt gzip 2.txt cat 1.txt.gz 2.txt.gz > 3.txt.gz ``` Calling: ``` Zlib::GzipReader.open("3.txt.gz") do |gz| print gz.read end ``` would just print: ``` 1 ``` ---Files-------------------------------- zlib-gzreader-each_file-9790.patch (3.47 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: