From: akostadinov@... Date: 2015-02-24T16:17:12+00:00 Subject: [ruby-core:68286] [Ruby trunk - Bug #9790] Zlib::GzipReader only decompressed the first of concatenated files Issue #9790 has been updated by Aleksandar Kostadinov. Because gzip format allows multiple entries with filename I'd suggest to support a method like Java's ZipInputStream `getNextEntry()` [1]. This way programmer can choose to read everything as one chunk of data or multiple chunks each with its own name. This would allow storing and then retrieving multiple files in/from one gz. On the other hand the command line gzip utility only supports reading the whole thing as one. So a convenience method to read everything in one go, would also be nice. [1] http://docs.oracle.com/javase/7/docs/api/java/util/zip/ZipInputStream.html ---------------------------------------- Bug #9790: Zlib::GzipReader only decompressed the first of concatenated files https://bugs.ruby-lang.org/issues/9790#change-51642 * Author: Jake Quain * Status: Assigned * Priority: Normal * Assignee: Eric Hodel * 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 ``` -- https://bugs.ruby-lang.org/