119304Speter#!/bin/sh -
219304Speter#
319304Speter#	@(#)recover.in	8.8 (Berkeley) 10/10/96
419304Speter#
519304Speter# Script to recover nvi edit sessions.
619304Speter
719304SpeterRECDIR="@vi_cv_path_preserve@"
819304SpeterSENDMAIL="@vi_cv_path_sendmail@"
919304Speter
1019304Speterecho 'Recovering nvi editor sessions.'
1119304Speter
1219304Speter# Check editor backup files.
1319304Spetervibackup=`echo $RECDIR/vi.*`
1419304Speterif [ "$vibackup" != "$RECDIR/vi.*" ]; then
1519304Speter	for i in $vibackup; do
1619304Speter		# Only test files that are readable.
1719304Speter		if test ! -r $i; then
1819304Speter			continue
1919304Speter		fi
2019304Speter
2119304Speter		# Unmodified nvi editor backup files either have the
2219304Speter		# execute bit set or are zero length.  Delete them.
2319304Speter		if test -x $i -o ! -s $i; then
2419304Speter			rm $i
2519304Speter		fi
2619304Speter	done
2719304Speterfi
2819304Speter
2919304Speter# It is possible to get incomplete recovery files, if the editor crashes
3019304Speter# at the right time.
3119304Spetervirecovery=`echo $RECDIR/recover.*`
3219304Speterif [ "$virecovery" != "$RECDIR/recover.*" ]; then
3319304Speter	for i in $virecovery; do
3419304Speter		# Only test files that are readable.
3519304Speter		if test ! -r $i; then
3619304Speter			continue
3719304Speter		fi
3819304Speter
3919304Speter		# Delete any recovery files that are zero length, corrupted,
4019304Speter		# or that have no corresponding backup file.  Else send mail
4119304Speter		# to the user.
4219304Speter		recfile=`awk '/^X-vi-recover-path:/{print $2}' < $i`
4319304Speter		if test -n "$recfile" -a -s "$recfile"; then
4419304Speter			$SENDMAIL -t < $i
4519304Speter		else
4619304Speter			rm $i
4719304Speter		fi
4819304Speter	done
4919304Speterfi
50