Dear Paul and Jim,
I have noticed that the new method of implementing --list prints incorrect
values for multimember files. It decompresses the whole file, but just
counts the uncompressed size of the last member (as it did gzip <= 1.11 by
reading the ISIZE field). You can reproduce the problem by concatenating two
copies of the gzip-1.13 tarball:
$ gzip -l 2xgzip-1.13.tar.gz
compressed uncompressed ratio uncompressed_name
2588316 6205440 58.3% 2xgzip-1.13.tar
$ gzip -cd 2xgzip-1.13.tar.gz | wc -c
12410880
I think the problem is that bytes_out is set to zero in lines 791 and 998 of
gzip.c so that member length can be checked, but the cumulative value of
bytes_out is not saved for later, when the total uncompressed size of the
file is displayed by do_list and then added to total_out.
Thanks,
Antonio.