Applied Simon Burge <simonb@thistledown.com.au>'s dtime.c patch:
authorDan Harkless <dan@harkless.org>
Tue, 14 Mar 2000 05:24:57 +0000 (05:24 +0000)
committerDan Harkless <dan@harkless.org>
Tue, 14 Mar 2000 05:24:57 +0000 (05:24 +0000)
  There's a wrap-around problem that affects the implementation of Zeller's
  congruence in dtime.c.  This causes the day-of-week calculations to fail for
  dates after Feb 29, 2000 (probably up until some year far in the future).

ChangeLog
zotnet/tws/dtime.c

index ba38c6b..0410e49 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-Mon Mar 13 21:10:16 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+Mon Mar 13 21:32:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
 
        * Applied Sullivan N. Beck <sbeck@cise.ufl.edu>'s mhshow-suffix patch:
 
@@ -23,6 +23,13 @@ Mon Mar 13 21:10:16 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
        mailbox called, for instance, "dan-nmh" (where username was "dan"
        and $USERNAME_EXTENSION was "-nmh").
                
+       * Applied Simon Burge <simonb@thistledown.com.au>'s dtime.c patch:
+       
+           There's a wrap-around problem that affects the implementation
+           of Zeller's congruence in dtime.c.  This causes the day-of-week
+           calculations to fail for dates after Feb 29, 2000 (probably up
+           until some year far in the future).
+
 Mon Mar 06 12:20:20 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
 
        * Applied Neil W Rickert <rickert+nmh@cs.niu.edu>'s msh.c patch:
index bbfccf0..adf153b 100644 (file)
@@ -460,6 +460,8 @@ set_dotw (struct tws *tw)
     tw->tw_wday =
        ((26 * month - 2) / 10 + day + year + year / 4
            - 3 * century / 4 + 1) % 7;
+    if (tw->tw_wday < 0)
+       tw->tw_wday += 7;
 
     tw->tw_flags &= ~TW_SDAY, tw->tw_flags |= TW_SIMP;
 }