xref: /freebsd/usr.bin/gzip/zforce (revision d0b2dbfa)
19a9ea25fSXin LI#!/bin/sh -
29a9ea25fSXin LI#
39a9ea25fSXin LI# $NetBSD: zforce,v 1.2 2003/12/28 12:43:43 wiz Exp $
49a9ea25fSXin LI# $OpenBSD: zforce,v 1.2 2003/08/05 18:22:17 deraadt Exp $
59a9ea25fSXin LI#
69a9ea25fSXin LI#-
79a9ea25fSXin LI# Copyright (c) 2003 Otto Moerbeek <otto@drijf.net>
89a9ea25fSXin LI#
99a9ea25fSXin LI# Permission to use, copy, modify, and distribute this software for any
109a9ea25fSXin LI# purpose with or without fee is hereby granted, provided that the above
119a9ea25fSXin LI# copyright notice and this permission notice appear in all copies.
129a9ea25fSXin LI#
139a9ea25fSXin LI# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
149a9ea25fSXin LI# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
159a9ea25fSXin LI# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
169a9ea25fSXin LI# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
179a9ea25fSXin LI# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
189a9ea25fSXin LI# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
199a9ea25fSXin LI# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
209a9ea25fSXin LI#
219a9ea25fSXin LIprog=`basename $0`
229a9ea25fSXin LIUSAGE="usage: $prog file ..."
239a9ea25fSXin LIif test $# -eq 0; then
249a9ea25fSXin LI	echo $USAGE
259a9ea25fSXin LI	exit 1
269a9ea25fSXin LIfi
279a9ea25fSXin LI
289a9ea25fSXin LIret=0
299a9ea25fSXin LI
309a9ea25fSXin LIwhile test $# -ne 0; do
319a9ea25fSXin LI	case "$1" in
329a9ea25fSXin LI		*[._-]gz)
339a9ea25fSXin LI			shift
349a9ea25fSXin LI			;;
359a9ea25fSXin LI		*.t[ag]z)
369a9ea25fSXin LI			shift
379a9ea25fSXin LI			;;
389a9ea25fSXin LI		*)
399a9ea25fSXin LI			if file "$1" |
409a9ea25fSXin LI				grep -q "gzip compressed data" 2> /dev/null
419a9ea25fSXin LI			then
429a9ea25fSXin LI				n="$1".gz
439a9ea25fSXin LI				if mv "$1" "$n" 2> /dev/null; then
449a9ea25fSXin LI					echo "$1" -- renamed to "$n"
459a9ea25fSXin LI				else
469a9ea25fSXin LI					ret=1
479a9ea25fSXin LI					echo $prog: cannot rename "$1" to "$n"
489a9ea25fSXin LI				fi
499a9ea25fSXin LI			fi
509a9ea25fSXin LI			shift
519a9ea25fSXin LI			;;
529a9ea25fSXin LI	esac
539a9ea25fSXin LIdone
549a9ea25fSXin LIexit $ret
55