[ruby-core:68303] [Ruby trunk - Bug #9790] Zlib::GzipReader only decompressed the first of concatenated files

From: duerst@...
Date: 2015-02-25 06:16:25 UTC
List: ruby-core #68303
Issue #9790 has been updated by Martin D=C3=BCrst.


Aleksandar Kostadinov wrote:
> 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 c=
hunks each with its own name. This would allow storing and then retrieving =
multiple files in/from one gz.=20

Good idea, but it should be more Ruby-like, such as .each_file or so.

----------------------------------------
Bug #9790: Zlib::GzipReader only decompressed the first of concatenated fil=
es
https://bugs.ruby-lang.org/issues/9790#change-51657

* 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 desc=
ribes 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:
=20=20=20=20
```
Zlib::GzipReader.open("3.txt.gz") do |gz|
  print gz.read
end
```

would just print:

```
1
```




--=20
https://bugs.ruby-lang.org/

In This Thread

Prev Next