--- inn-1.7.2.orig/lib/parsedate.y
+++ inn-1.7.2/lib/parsedate.y
@@ -512,10 +512,11 @@
 
     if (Year < 0)
 	Year = -Year;
-    if (Year < 100)
+    if (Year < 100) {
 	Year += 1900;
-    if (Year < EPOCH)
-	Year += 100;
+	if (Year < EPOCH)
+	    Year += 100;
+    }
     for (mp = DaysNormal, yp = LeapYears; yp < ENDOF(LeapYears); yp++)
 	if (Year == *yp) {
 	    mp = DaysLeap;
@@ -570,7 +571,7 @@
 
     tm = localtime(&Start);
     Month = 12 * tm->tm_year + tm->tm_mon + RelMonth;
-    Year = Month / 12;
+    Year = Month / 12 + 1900;
     Month = Month % 12 + 1;
     return DSTcorrect(Start,
 	    Convert(Month, (time_t)tm->tm_mday, Year,
@@ -751,7 +752,7 @@
     }
 
     tm = localtime(&now->time);
-    yyYear = tm->tm_year;
+    yyYear = tm->tm_year + 1900;
     yyMonth = tm->tm_mon + 1;
     yyDay = tm->tm_mday;
     yyTimezone = now->tzone;
