document mingw linker fix and close associated bug
[debian/gzip] / zforce.in
old mode 100755 (executable)
new mode 100644 (file)
index 4ae5763..023a661
--- a/zforce.in
+++ b/zforce.in
@@ -1,4 +1,3 @@
-:
 #!/bin/sh
 # zforce: force a gz extension on all gzip files so that gzip will not
 # compress them twice.
@@ -6,37 +5,61 @@
 # This can be useful for files with names truncated after a file transfer.
 # 12345678901234 is renamed to 12345678901.gz
 
-PATH="BINDIR:$PATH"; export PATH
-x=`basename $0`
+
+# Copyright (C) 2002, 2007, 2010-2018 Free Software Foundation, Inc.
+# Copyright (C) 1993 Jean-loup Gailly
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+version="zforce (gzip) @VERSION@
+Copyright (C) 2010-2018 Free Software Foundation, Inc.
+This is free software.  You may redistribute copies of it under the terms of
+the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
+There is NO WARRANTY, to the extent permitted by law.
+
+Written by Jean-loup Gailly."
+
+usage="Usage: $0 [FILE]...
+Force a .gz extension on all compressed FILEs so that gzip will
+not compress them twice.
+
+Report bugs to <bug-gzip@gnu.org>."
+
 if test $# = 0; then
-  echo "force a '.gz' extension on all gzip files"
-  echo usage: $x files...
+  printf >&2 '%s\n' "$0: invalid number of operands; try \`$0 --help' for help"
   exit 1
 fi
 
 res=0
 for i do
+  case "$i" in
+  --h*) printf '%s\n' "$usage"   || exit 1; exit;;
+  --v*) printf '%s\n' "$version" || exit 1; exit;;
+  *[-.]z | *[-.]gz | *.t[ag]z) continue;;
+  esac
+
   if test ! -f "$i" ; then
-    echo ${x}: $i not a file
+    printf '%s\n' "zforce: $i not a file"
     res=1
     continue
   fi
-  test `expr "$i" : '.*[.-]z$'` -eq 0 || continue
-  test `expr "$i" : '.*[.-]gz$'` -eq 0 || continue
-  test `expr "$i" : '.*[.]t[ag]z$'` -eq 0 || continue
-
-  if gzip -l < "$i" 2>/dev/null | grep '^defl' > /dev/null; then
-
-    if test `expr "$i" : '^............'` -eq 12; then
-      new=`expr "$i" : '\(.*\)...$`.gz
-    else
-      new="$i.gz"
-    fi
-    if mv "$i" "$new" 2>/dev/null; then
-      echo $i -- replaced with $new
-      continue
-    fi
-    res=1; echo ${x}: cannot rename $i to $new
+
+  if gzip -lv < "$i" 2>/dev/null | grep '^defl' > /dev/null; then
+
+    new="$i.gz"
+    mv "$i" "$new" && printf '%s\n' "$i -- replaced with $new" || res=1
   fi
 done
 exit $res