From muir@idiom.com  Mon Feb 10 01:57:02 2003
Return-Path: <muir@idiom.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id D7BB237B401
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 10 Feb 2003 01:57:02 -0800 (PST)
Received: from idiom.com (idiom.com [216.240.32.1])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 65EA643F93
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 10 Feb 2003 01:57:02 -0800 (PST)
	(envelope-from muir@idiom.com)
Received: from idiom.com (localhost [127.0.0.1])
	by idiom.com (8.12.6/8.12.6) with ESMTP id h1A9v2fF054474
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 10 Feb 2003 01:57:02 -0800 (PST)
	(envelope-from muir@idiom.com)
Received: (from muir@localhost)
	by idiom.com (8.12.6/8.12.6/Submit) id h1A9v2Z9054473;
	Mon, 10 Feb 2003 01:57:02 -0800 (PST)
	(envelope-from muir)
Message-Id: <200302100957.h1A9v2Z9054473@idiom.com>
Date: Mon, 10 Feb 2003 01:57:02 -0800 (PST)
From: David Muir Sharnoff <muir@idiom.com>
Reply-To: David Muir Sharnoff <muir@idiom.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: improvied vi recovery notification
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         48133
>Category:       conf
>Synopsis:       [patch] /etc/rc: improved vi recovery notification
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 10 02:00:25 PST 2003
>Closed-Date:    
>Last-Modified:  Mon Jan 14 01:11:21 UTC 2008
>Originator:     David Muir Sharnoff
>Release:        FreeBSD 4.7-RELEASE-p3 i386
>Organization:
Idiom
>Environment:
System: FreeBSD idiom.com 4.7-RELEASE-p3 FreeBSD 4.7-RELEASE-p3 #10: Wed Jan 8 14:13:35 PST 2003 muir@staid.idiom.com:/build/obj/build/src/sys/IDIOM i386


>Description:

	Ever reboot a system six times and get six notifications about
	a vi file that's available for recovery?

	Ever get notification too late 'cause you don't reboot that
	often?

>How-To-Repeat:
	
>Fix:

    In /etc/rc in the recovering files loop, add:
		
		if [ `expr "${i}" : '.*\.sent$'` -gt 0 ]; then
			continue
		fi

	and 

		mv "${i}" "${i}.sent"

	just after sendmail -t < "${i}"


    Add a new daily script that does the following:

	# Recover vi editor files.
	virecovery=`echo /var/tmp/vi.recover/recover.*`
	if [ "$virecovery" != '/var/tmp/vi.recover/recover.*' ]; then
		for i in $virecovery; do
			if [ `expr $i : '.*\.sent$'` -gt 0 ]; then
				continue
			fi
			virfn=`awk '/^X-vi-recover-path:/{print $2}' $i`
			if [ -r "$virfn" \
				-a `fstat "$virfn" | wc -l` -eq 1 \
				-a ! -x $i \
				-a -s $i \
				-a ! -e $i.sent \
			]; then
				sendmail -t < $i
				mv $i $i.sent
			fi
		done
	fi


>Release-Note:
>Audit-Trail:
>Unformatted:
