Module Name:    src
Committed By:   christos
Date:           Sat Nov  4 05:43:18 UTC 2017

Modified Files:
        src/external/bsd/nvi/usr.bin/recover: virecover

Log Message:
- don't use command substitution to glob a pattern into a list of filenames;
  it is less efficient than doing it directly and does not handle whitespace
  in filenames properly.
- change test to [
- quote variables


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/nvi/usr.bin/recover/virecover

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/nvi/usr.bin/recover/virecover
diff -u src/external/bsd/nvi/usr.bin/recover/virecover:1.1 src/external/bsd/nvi/usr.bin/recover/virecover:1.2
--- src/external/bsd/nvi/usr.bin/recover/virecover:1.1	Fri Nov 22 11:00:45 2013
+++ src/external/bsd/nvi/usr.bin/recover/virecover	Sat Nov  4 01:43:18 2017
@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-#	$NetBSD: virecover,v 1.1 2013/11/22 16:00:45 christos Exp $
+#	$NetBSD: virecover,v 1.2 2017/11/04 05:43:18 christos Exp $
 #
 #	@(#)recover.in	8.8 (Berkeley) 10/10/96
 #
@@ -10,40 +10,34 @@ RECDIR="/var/tmp/vi.recover"
 SENDMAIL="/usr/sbin/sendmail"
 
 # Check editor backup files.
-vibackup=`echo $RECDIR/vi.*`
-if [ "$vibackup" != "$RECDIR/vi.*" ]; then
-	for i in $vibackup; do
-		# Only test files that are readable.
-		if test ! -f $i || test ! -r $i; then
-			continue
-		fi
+for i in $RECDIR/vi.*; do
+	# Only test files that are readable.
+	if [ \( ! -f "$i" \) -o \( ! -r "$i" \) ]; then
+		continue
+	fi
 
-		# Unmodified nvi editor backup files either have the
-		# execute bit set or are zero length.  Delete them.
-		if test -x $i -o ! -s $i; then
-			rm $i
-		fi
-	done
-fi
+	# Unmodified nvi editor backup files either have the
+	# execute bit set or are zero length.  Delete them.
+	if [ \( -x "$i" \) -o \( -z "$i" \) ]; then
+		rm -f "$i"
+	fi
+done
 
 # It is possible to get incomplete recovery files, if the editor crashes
 # at the right time.
-virecovery=`echo $RECDIR/recover.*`
-if [ "$virecovery" != "$RECDIR/recover.*" ]; then
-	for i in $virecovery; do
-		# Only test files that are readable.
-		if test ! -r $i; then
-			continue
-		fi
+for i in $RECDIR/recover.*; do
+	# Only test files that are readable.
+	if [ ! -r "$i" ]; then
+		continue
+	fi
 
-		# Delete any recovery files that are zero length, corrupted,
-		# or that have no corresponding backup file.  Else send mail
-		# to the user.
-		recfile=`awk '/^X-vi-recover-path:/{print $2}' < $i`
-		if test -n "$recfile" -a -s "$recfile"; then
-			$SENDMAIL -t < $i
-		else
-			rm $i
-		fi
-	done
-fi
+	# Delete any recovery files that are zero length, corrupted,
+	# or that have no corresponding backup file.  Else send mail
+	# to the user.
+	recfile=$(awk '/^X-vi-recover-path:/{print $2}' < "$i")
+	if [ \( -n "$recfile" \) -a \( -s "$recfile" \); then
+		$SENDMAIL -t < "$i"
+	else
+		rm -f "$i"
+	fi
+done

Reply via email to