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.



Reply via email to