##########################################################################
# Shellscript:	tolower - rename files to all lower case
# Version    :	1.2
# Author     :	Heiner Steven (heiner.steven@odn.de)
# Date       :	1995-03-02
# Category   :	File Utilities
# SCCS-Id.   :	@(#) tolower	1.2 04/02/18
##########################################################################
# Description
#
##########################################################################

PN=`basename "$0"`			# program name
VER='1.2'

Usage () {
    echo >&2 "$PN - rename files to all lower case, $VER (stv '95)
usage: $PN [-v] file [...]
    -v:  print number of renamed files"
    exit 1
}

Msg () {
    for i
    do echo "$PN: $i" >&2
    done
}

Fatal () { Msg "$@"; exit 1; }

while [ $# -gt 0 ]
do
    case "$1" in
	--)	shift; break;;
	-v)	verbose=yes;;		# yes/no
	-h)	Usage;;
	-*)	Usage;;
	*)	break;;			# First file name
    esac
    shift
done

[ $# -lt 1 ] && Usage

Errs=0
n=0
for i
do
    Lower=`echo "$i" | tr '[A-Z]' '[a-z]'`

    if [ "$i" = "$Lower" ]
    then
	continue			# name is already in lower case
    elif [ -r "$Lower" -o -w "$Lower" -o -x "$Lower" ]
    then
	Msg "could not rename $i: $Lower exists already"
	continue
    fi

    if mv "$i" "$Lower"
    then
	n=`expr $n + 1`
    else
	Errs=`expr $Errs + 1`
	Msg "could not rename $i to $Lower"
    fi
done
[ "$verbose" = yes ] && Msg "$n files renamed"
exit $Errs
