Module Name:    src
Committed By:   riz
Date:           Fri Jan  7 01:01:44 UTC 2011

Modified Files:
        src/sys/arch/vax/include [netbsd-5]: clock.h
        src/sys/arch/vax/vax [netbsd-5]: clock.c

Log Message:
Pull up following revision(s) (requested by uwe in ticket #1500):
        sys/arch/vax/vax/clock.c: revision 1.54
        sys/arch/vax/include/clock.h: revision 1.8
Correct definition of leap year.  Make yeartonum and numtoyear use
full years so that year 2000 is correctly counted as a leap year.
Now NetBSD under SIMH picks up correct time-of-day clock value.  It
used to be a day behind, since 2000 - 1900 = 100 and naive leap year
test wouldn't count it as a leap year.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.6.70.1 src/sys/arch/vax/include/clock.h
cvs rdiff -u -r1.49.20.1 -r1.49.20.2 src/sys/arch/vax/vax/clock.c

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

Modified files:

Index: src/sys/arch/vax/include/clock.h
diff -u src/sys/arch/vax/include/clock.h:1.6 src/sys/arch/vax/include/clock.h:1.6.70.1
--- src/sys/arch/vax/include/clock.h:1.6	Tue Sep  5 19:32:57 2006
+++ src/sys/arch/vax/include/clock.h	Fri Jan  7 01:01:44 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: clock.h,v 1.6 2006/09/05 19:32:57 matt Exp $ */
+/*	$NetBSD: clock.h,v 1.6.70.1 2011/01/07 01:01:44 riz Exp $ */
 /*
  * Copyright (c) 1996 Ludd, University of Lule}, Sweden.
  * All rights reserved.
@@ -37,7 +37,7 @@
 /*
  * Time constants. These are unlikely to change.
  */
-#define IS_LEAPYEAR(y) (((y % 4) == 0) && (y % 100))
+#define IS_LEAPYEAR(y) ((((y % 4) == 0) && ((y % 100) != 0)) || ((y % 400) == 0))
 
 #define SEC_PER_MIN	(60)
 #define SEC_PER_HOUR	(SEC_PER_MIN * 60)

Index: src/sys/arch/vax/vax/clock.c
diff -u src/sys/arch/vax/vax/clock.c:1.49.20.1 src/sys/arch/vax/vax/clock.c:1.49.20.2
--- src/sys/arch/vax/vax/clock.c:1.49.20.1	Wed Sep 16 04:46:14 2009
+++ src/sys/arch/vax/vax/clock.c	Fri Jan  7 01:01:44 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: clock.c,v 1.49.20.1 2009/09/16 04:46:14 snj Exp $	 */
+/*	$NetBSD: clock.c,v 1.49.20.2 2011/01/07 01:01:44 riz Exp $	 */
 /*
  * Copyright (c) 1995 Ludd, University of Lule}, Sweden.
  * All rights reserved.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.49.20.1 2009/09/16 04:46:14 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.49.20.2 2011/01/07 01:01:44 riz Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -194,18 +194,18 @@
 {
 	int n;
 
-	for (n = 0, y -= 1; y > 69; y--)
+	for (n = 0, y -= 1; y > 1969; y--)
 		n += SECPERYEAR(y);
 	return n;
 }
 
 /* 
- * Converts tick number to a year 70 ->
+ * Converts tick number to a year 1970 ->
  */
 int
 numtoyear(int num)
 {
-	int y = 70, j;
+	int y = 1970, j;
 	while(num >= (j = SECPERYEAR(y))) {
 		y++;
 		num -= j;

Reply via email to