|
From: | GNU bug Tracking System |
Subject: | bug#68329: closed ('--list' fails on multimember files) |
Date: | Tue, 09 Jan 2024 04:43:01 +0000 |
Your message dated Mon, 8 Jan 2024 20:42:42 -0800 with message-id <f24cbfd0-e7c0-43b1-849f-dd38df43c403@cs.ucla.edu> and subject line Re: bug#68329: '--list' fails on multimember files has caused the debbugs.gnu.org bug report #68329, regarding '--list' fails on multimember files to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs@gnu.org.) -- 68329: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68329 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems
--- Begin Message ---Subject: '--list' fails on multimember files Date: Mon, 08 Jan 2024 18:06:39 +0100 User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 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 12410880I 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.
--- End Message ---
--- Begin Message ---Subject: Re: bug#68329: '--list' fails on multimember files Date: Mon, 8 Jan 2024 20:42:42 -0800 Thanks for reporting and diagnosing that gzip bug. I installed the attached patch to fix it, and to add a regression test. User-agent: Mozilla Thunderbird 0001-gzip-fix-l-bug-with-multimember-files.patch
Description: Text Data
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |