[alt.sources] REMIND 2.2 Patch 06

dfs@doe.carleton.ca (David F. Skoll) (01/09/91)

Official patch 6 for remind version 2.2

To apply this patch, unshar the file patch.06 into your remind
source directory and type "patch < patch.06"  Then type "make"

Before applying this patch, ensure that you have applied patches 1 through
5.  As always, fully-patched REMIND source is available via anonymous ftp
from alfred.ccs.carleton.ca (134.117.1.1)

Thanks to Steve McCarthy (v-stevem@uunet.UU.NET) for bug report.

This patch fixes a problem which caused REMIND to take abnormally long
to execute some reminders.  The problem was that sometimes an unitialized
variable y2 was being passed to Julian().  The fix verifies that y2 is in
fact initialized before being used by Julian().  The problem occurs in
function GetTriggerDate().

Also, an existing example in the manual page is improved and an additional
example added.
--
David F. Skoll.

--------------- CUT HERE -------------------
#!/bin/sh
# This is Remind-2.2-patch-06, a shell archive (shar 3.32)
# made 01/08/1991 19:32 UTC by dfs@data
# Source directory /enterprise/transporter/dfs/mail-daemon/archive
#
# existing files WILL be overwritten
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#   2495 -rw------- patch.06
#
if touch 2>&1 | fgrep 'amc' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= patch.06 ==============
echo "x - extracting patch.06 (Text)"
sed 's/^X//' << 'SHAR_EOF' > patch.06 &&
XOfficial patch 6 for remind by D. Skoll
XThanks to Steve McCarthy (v-stevem@uunet.UU.NET) for bug report.
X
XThis patch fixes a problem which caused REMIND to take abnormally long
Xto execute some reminders.  The problem was that sometimes an unitialized
Xvariable y2 was being passed to Julian().  The fix verifies that y2 is in
Xfact initialized before being used by Julian().  The problem occurs in
Xfunction GetTriggerDate().
X
XAlso, an existing example in the manual page is improved and an additional
Xexample added.
X
X*** ../work/dorem.c	Mon Dec  3 15:56:27 1990
X--- ./dorem.c	Tue Jan  8 10:33:58 1991
X***************
X*** 345,351 ****
X     
X     /* Make a first stab at the date */
X     i = TryNextDate(&d2, &m2, &y2, d1, m1, y1, d, m, y, wd, cons, 0);
X!    jul = Julian(d2, m2, y2);
X     
X     if (!repeat && !back && !skip) {
X        if (i) return -1; else return jul;
X--- 345,351 ----
X     
X     /* Make a first stab at the date */
X     i = TryNextDate(&d2, &m2, &y2, d1, m1, y1, d, m, y, wd, cons, 0);
X!    if (!i || repeat) jul = Julian(d2, m2, y2);
X     
X     if (!repeat && !back && !skip) {
X        if (i) return -1; else return jul;
X*** ../work/init.c	Fri Nov 30 14:07:02 1990
X--- ./init.c	Mon Dec  3 16:42:50 1990
X***************
X*** 7,13 ****
X  #include "globals.h"
X  #include "protos.h"
X  
X! #define PATCHLEVEL 5
X  
X  static char DPMsg[] = "Debug and Purge options conflict - Purge chosen.\n";
X  static char DPCMsg[] = "Calendar overrides Debug and Purge options.\n";
X--- 7,13 ----
X  #include "globals.h"
X  #include "protos.h"
X  
X! #define PATCHLEVEL 6
X  
X  static char DPMsg[] = "Debug and Purge options conflict - Purge chosen.\n";
X  static char DPCMsg[] = "Calendar overrides Debug and Purge options.\n";
X*** ../work/remind.1	Mon Dec  3 16:28:48 1990
X--- ./remind.1	Tue Dec  4 16:12:19 1990
X***************
X*** 164,170 ****
X  
X  	# Business things
X  	REM 23 Nov 1990 +2 AT 10:00 +30 *15 MSG \\
X! 	%"Meeting with Bill%" %1%_Bring papers!
X  
X  .fi
X  .PP
X--- 164,170 ----
X  
X  	# Business things
X  	REM 23 Nov 1990 +2 AT 10:00 +30 *15 MSG \\
X! 	%"Meeting with Bill%" at %1 %b.%_Bring papers!
X  
X  .fi
X  .PP
X***************
X*** 1354,1360 ****
X  .PP
X  .nf
X  	REM 5 Feb 1991 AT 14:00 +45 *30 \\
X! 	RUN mail -s "Meeting %2" $LOGNAME </dev/null &
X  .fi
X  .PP
X  On 5 Februrary, 1991, this reminder will mail 
X--- 1354,1360 ----
X  .PP
X  .nf
X  	REM 5 Feb 1991 AT 14:00 +45 *30 \\
X! 	RUN mail -s "Meeting at %2" $LOGNAME </dev/null &
X  .fi
X  .PP
X  On 5 Februrary, 1991, this reminder will mail 
SHAR_EOF
$TOUCH -am 0108143191 patch.06 &&
chmod 0600 patch.06 ||
echo "restore of patch.06 failed"
set `wc -c patch.06`;Wc_c=$1
if test "$Wc_c" != "2495"; then
	echo original size 2495, current size $Wc_c
fi
exit 0