Initial revision
authorJean-loup Gailly <jloup@chorus.fr>
Fri, 11 Jun 1993 11:36:14 +0000 (11:36 +0000)
committerJean-loup Gailly <jloup@chorus.fr>
Fri, 11 Jun 1993 11:36:14 +0000 (11:36 +0000)
zforce.in [new file with mode: 0644]

diff --git a/zforce.in b/zforce.in
new file mode 100644 (file)
index 0000000..4ae5763
--- /dev/null
+++ b/zforce.in
@@ -0,0 +1,42 @@
+:
+#!/bin/sh
+# zforce: force a gz extension on all gzip files so that gzip will not
+# compress them twice.
+#
+# 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`
+if test $# = 0; then
+  echo "force a '.gz' extension on all gzip files"
+  echo usage: $x files...
+  exit 1
+fi
+
+res=0
+for i do
+  if test ! -f "$i" ; then
+    echo ${x}: $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
+  fi
+done
+exit $res