#------------------------------------------------------------------------------
# shortnames shortens the given filenames to a length acceptable by RCS
# longnames restores the given filenames
# afb 8/90
#------------------------------------------------------------------------------

	name=`basename $0`
	usage="Usage: $name file..."

do_short()
{	for file
	do	case $file
		in ?????????????*)
			base=`echo $file | sed 's/\..*//'`
			suffix=`echo $file | sed 's/^[^\.]*\.//'`
			case $suffix
			in ?)	base=`echo $base | sed 's/\(..........\).*/\1/'`
			;; ??)	base=`echo $base | sed 's/\(.........\).*/\1/'`
			;; ???)	base=`echo $base | sed 's/\(........\).*/\1/'`
			;; *)	echo >&2 "$name: $file bad suffix"; exit 1
			esac
			if [ -f $base.$suffix ]
			then	echo >&2 "$name: $base.$suffix already exists"
				exit 1
			fi
			mv $file $base.$suffix
		esac
	done
}

do_long()
{	for file
	do	case $file
		in ????????????)
			base=`echo $file | sed 's/\..*//'`
			suffix=`echo $file | sed 's/^[^\.]*\.//'`
			case $suffix
			in 3)	lbase=`grep '^\.TH' $file |
				sed 's/^\.TH //; s/ .*//'`
				lbase=`echo $lbase |
				sed 's/\(............\).*/\1/'`
				if [ -f $lbase.$suffix ]
				then	echo >&2 "$name: $lbase.$suffix \c"
					echo >&2 "already exists"
					exit 1
				fi
				mv $file $lbase.$suffix
			esac
		esac
	done
}

case $name
in short*)	do_short "$@"
;; long*)	do_long "$@"
esac
