]> git.ipfire.org Git - thirdparty/xz.git/commit
Scripts: Fix exit status of xzgrep.
authorLasse Collin <lasse.collin@tukaani.org>
Mon, 11 Jan 2021 21:28:52 +0000 (23:28 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Mon, 11 Jan 2021 21:28:52 +0000 (23:28 +0200)
commit73c555b3077c19dda29b6f4592ced2af876f8333
tree70f476e75d4f1a498cd67610aacfd2c98db34f51
parent194029ffaf74282a81f0c299c07f73caca3232ca
Scripts: Fix exit status of xzgrep.

Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't
matter. With gzip it's important because -q makes gzip replace SIGPIPE
with exit status 2. With bzip2 it's important because with -q bzip2
is completely silent if input is corrupt while other decompressors
still give an error message.

Avoiding exit status 2 from gzip is important because bzip2 uses
exit status 2 to indicate corrupt input. Before this commit xzgrep
didn't recognize corrupt .bz2 files because xzgrep was treating
exit status 2 as SIGPIPE for gzip compatibility.

zstd still needs -q because otherwise it is noisy in normal
operation.

The code to detect real SIGPIPE didn't check if the exit status
was due to a signal (>= 128) and so could ignore some other exit
status too.
src/scripts/xzgrep.in