summaryrefslogtreecommitdiff
path: root/community/datemath/y2k.patch
blob: 4605ad5052bddab251dd54b1287741311c6f8f6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
diff -Naur ../datemath/util.c ./util.c
--- ../datemath/util.c	2004-03-06 18:27:59.000000000 +0100
+++ ./util.c	2012-08-01 09:37:30.767738221 +0200
@@ -18,6 +18,7 @@
 #include "defs.h"
 
 int	century19_year = 40;	/* 0..39 = 2000 / 40..99 = 1999 */
+static int century;  /* may not be 1900... */
 
 /*
  * jultoyymm()
@@ -35,6 +36,8 @@
 
 	if (mdy[YY] < 1900)			/* too early?		*/
 		mdy[YY] = 1900;
+    
+    century = mdy[YY] / 100;
 
 	mdy[YY] %= 100;				/* strip off 19xx	*/
 
@@ -59,7 +62,7 @@
 	mdy[YY] = yymm / 100;
 	mdy[DD] = eflag ? daysinmm(mdy[MM], mdy[YY]) : 1;
 
-	mdy[YY] += 1900;
+	mdy[YY] += century * 100;
 
 	if (rv = rmdyjul(mdy, &jdate), rv < 0)
 		die("bad date conversion in yymmtojul-(%d)", rv);