Date: Sat, 14 Nov 2009 07:52:58 +0300 From: Anonymous <swell.k@gmail.com> To: d@delphij.net Cc: freebsd-current@FreeBSD.ORG, Xin LI <delphij@FreeBSD.ORG>, matthew green <mrg@eterna.com.au> Subject: Re: svn commit: r199066 - head/usr.bin/gzip Message-ID: <86zl6pg11x.fsf@gmail.com> In-Reply-To: <4AFDEB70.5080807@delphij.net> (Xin LI's message of "Fri, 13 Nov 2009 15:27:44 -0800") References: <200911090237.nA92b2m7005471__19254.880565177$1257734275$gmane$org@svn.freebsd.org> <867htvhygy.fsf@gmail.com> <4AFDDEA1.70900@delphij.net> <4AFDE27F.1070406@delphij.net> <4AFDEB70.5080807@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Xin LI <delphij@delphij.net> writes: > Xin LI wrote: >> Xin LI wrote: >>> Anonymous wrote: >>>> Xin LI <delphij@FreeBSD.org> writes: >>>>> Author: delphij >>>>> Date: Mon Nov 9 02:37:02 2009 >>>>> New Revision: 199066 >>>>> URL: http://svn.freebsd.org/changeset/base/199066 >>>>> >>>>> Log: >>>>> Apply a NetBSD fix (revision 1.12) to handle multi-session bzip2 files >>>>> as created by pbzip2. >>>>> >>>>> Submitted by: mrg (NetBSD.org) >>>>> MFC after: 1 week >>>>> >>>>> Modified: >>>>> head/usr.bin/gzip/unbzip2.c >>>>> >>>> $ touch blah >>>> $ bzip2 blah >>>> $ gzip -d blah.bz2 >>>> gzip: read: No such file or directory >>>> Exit 2 >>>> Regression? Can you reproduce? >>> Yes, this is a regression (confirmed that this behavior is different >>> from bzip2 and a regression from 199065). Thanks for your report and >>> I'll investigate what's happening. >> >> I think the attached patch should fixed this issue. Could you please test? > > The previous fix has introduced an issue that revealed another bug as > well (gzip -d -c can't decompress large-ish input stream, i.e. something > like bzip2 -c ObsoleteFiles.inc | gunzip -d -c). The proposed patch: Tested your last patch. No longer able to reproduce the issue. > > * Set end_of_file flag if we hit a short read. This usually saves one > read after the actual end of file. > * Only bail out when BZ_OK and end_of_file and no output is given from > decompression engine. This would fix the streaming issue. > * Use maybe_errx() instead of maybe_err - We don't have a valid errno > at hand at the point we have received BZ_OK, and make the information > more meaningful.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86zl6pg11x.fsf>