Fix exit status of xzgrep when grepping binary files.
authorLasse Collin <lasse.collin@tukaani.org>
Wed, 22 Feb 2012 12:02:34 +0000 (14:02 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Wed, 22 Feb 2012 12:02:34 +0000 (14:02 +0200)
commitcff070aba6281ba743d29a62b8c0c66e5da4b2a6
tree2af7250c1d46376584eef166b649a69a694cfd1d
parent41cafb2bf9beea915710ee68f05fe929cd17759c
Fix exit status of xzgrep when grepping binary files.

When grepping binary files, grep may exit before it has
read all the input. In this case, gzip -q returns 2 (eating
SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status
(e.g. 141). This causes wrong exit status when grepping
xz- or bzip2-compressed binary files.

The fix checks for the special exit status that indicates SIGPIPE.
It uses kill -l which should be supported everywhere since it
is in both SUSv2 (1997) and POSIX.1-2008.

Thanks to James Buren for the bug report.
src/scripts/xzgrep.in