maint: adjust copyright notices in *.in files to be consistent
[debian/gzip] / zgrep.in
index c149577c57b417994d791a744037366e4eba4a65..a2f4201afbfb41f065e9400868015018a5204559 100644 (file)
--- a/zgrep.in
+++ b/zgrep.in
@@ -3,8 +3,8 @@
 # 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
 
@@ -31,7 +31,7 @@ PATH=$bindir:$PATH
 grep='${GREP-'\''@GREP@'\''}'
 
 version='zgrep (gzip) @VERSION@
-Copyright (C) 2010-2013 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.
@@ -173,7 +173,7 @@ if test $# -eq 0; then
 fi
 
 exec 3>&1
-res=0
+res=1
 
 for i
 do
@@ -217,8 +217,23 @@ 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