Problems with INN-2.2.3 and SuSE6.4

Katsuhiro Kondou kondou at nec.co.jp
Mon Dec 25 05:47:08 UTC 2000


In article <Pine.GSO.4.21.0012221223501.7364-100000 at jalapeno.ucs.indiana.edu>,
	Michael Stassen <stassenm at indiana.edu> wrote;

} In the unlikely event that the current code is still in place in 2200, and
} some articles still arrive with a year of 300 instead of 2200, then yes, I
} think 300 should be treated as 2200.  

Ok, I'll submit attached, if no one objects.
-- 
Katsuhiro Kondou

--- lib/parsedate.y.orig	Sat Jan  8 00:59:01 2000
+++ lib/parsedate.y	Mon Dec 25 14:42:15 2000
@@ -247,7 +247,11 @@
 	| tUNUMBER '/' tUNUMBER '/' tUNUMBER {
 	    if ($1 > 100) {
 		/* assume YYYY/MM/DD format, so need not to add 1900 */
-		yyYear = $1;
+		if ($1 > 999) {
+		    yyYear = $1;
+		} else {
+		    yyYear = 1900 + $1;
+		}
 		yyMonth = $3;
 		yyDay = $5;
 	    }
@@ -255,12 +259,14 @@
 		/* assume MM/DD/YY* format */
 		yyMonth = $1;
 		yyDay = $3;
-		if ($5 > 100) {
+		if ($5 > 999) {
 		    /* assume year is YYYY format, so need not to add 1900 */
 		    yyYear = $5;
-		} else {
+		} else if ($5 < 100) {
 		    /* assume year is YY format, so need to add 1900 */
 		    yyYear = $5 + (yyYear / 100 + (yyYear % 100 - $5) / 50) * 100;
+		} else {
+		    yyYear = 1900 + $5;
 		}
 	    }
 	}
@@ -271,12 +277,14 @@
 	| tMONTH tUNUMBER ',' tUNUMBER {
 	    yyMonth = $1;
 	    yyDay = $2;
-	    if ($4 > 100) {
+	    if ($4 > 999) {
 		/* assume year is YYYY format, so need not to add 1900 */
 		yyYear = $4;
-	    } else {
+	    } else if ($4 < 100) {
 		/* assume year is YY format, so need to add 1900 */
 		yyYear = $4 + (yyYear / 100 + (yyYear % 100 - $4) / 50) * 100;
+	    } else {
+		yyYear = 1900 + $4;
 	    }
 	}
 	| tUNUMBER tMONTH {
@@ -286,23 +294,27 @@
 	| tUNUMBER tMONTH tUNUMBER {
 	    yyDay = $1;
 	    yyMonth = $2;
-	    if ($3 > 100) {
+	    if ($3 > 999) {
 		/* assume year is YYYY format, so need not to add 1900 */
 		yyYear = $3;
-	    } else {
+	    } else if ($3 < 100) {
 		/* assume year is YY format, so need to add 1900 */
 		yyYear = $3 + (yyYear / 100 + (yyYear % 100 - $3) / 50) * 100;
+	    } else {
+		yyYear = 1900 + $3;
 	    }
 	}
 	| tDAY ',' tUNUMBER tMONTH tUNUMBER {
 	    yyDay = $3;
 	    yyMonth = $4;
-	    if ($5 > 100) {
+	    if ($5 > 999) {
 		/* assume year is YYYY format, so need not to add 1900 */
 		yyYear = $5;
-	    } else {
+	    } else if ($5 < 100) {
 		/* assume year is YY format, so need to add 1900 */
 		yyYear = $5 + (yyYear / 100 + (yyYear % 100 - $5) / 50) * 100;
+	    } else {
+		yyYear = 1900 + $5;
 	    }
 	}
 	;



More information about the inn-workers mailing list