# zgrep -- a wrapper around a grep program that decompresses files as needed
# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-# Copyright (C) 1998, 2001, 2002, 2006, 2007, 2009, 2010 Free Software
-# Foundation
+# Copyright (C) 1998, 2001-2002, 2006-2007, 2009-2015 Free Software
+# Foundation, Inc.
# Copyright (C) 1993 Jean-loup Gailly
grep='${GREP-'\''@GREP@'\''}'
version='zgrep (gzip) @VERSION@
-Copyright (C) 2010-2014 Free Software Foundation, Inc.
+Copyright (C) 2010-2015 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
fi
exec 3>&1
-res=0
+res=1
for i
do
fi >&3 5>&-
)
r=$?
- test 128 -lt $r && exit $r
- test "$gzip_status" -eq 0 || test "$gzip_status" -eq 2 || r=2
- test $res -lt $r && res=$r
+
+ # Ignore gzip status 2, as it is just a warning.
+ # gzip status 1 is an error, like grep status 2.
+ test $gzip_status -eq 2 && gzip_status=0
+ test $gzip_status -eq 1 && gzip_status=2
+
+ # Use the more serious of the grep and gzip statuses.
+ test $r -lt $gzip_status && r=$gzip_status
+
+ # Exit immediately on software configuration error.
+ test 126 -le $r && exit $r
+
+ # Accumulate the greatest status, except consider 0 to be greater than 1.
+ if test $r -le 1 && test $res -le 1; then
+ test $r -lt $res
+ else
+ test $res -lt $r
+ fi && res=$r
done
exit $res