Decode the entire input to get the uncompressed size for -l.
The old way to get the uncompressed length was very fast, but could
be wrong. It would only work if the gzip stream had only one
member, and that member was less than 4GB uncompressed. pigz kept
it that way though to be consistent with gzip, and provided the
option to use -t with -l to take the time to decode the whole thing
and get a reliable uncompressed length. The gzip maintainers have
since decided to accept the performance hit, where it now decodes
the whole thing with -l. This change was made in version 1.12. This
commit makes pigz again consistent with gzip, so now pigz -l is the
same as pigz -lt, decodes the whole thing, and shows a reliable
uncompressed length.
1 file changed