about summary refs log tree commit diff stats
path: root/src/parsdate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parsdate.c')
-rw-r--r--src/parsdate.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/parsdate.c b/src/parsdate.c
index d0e772f1..17a6d8e2 100644
--- a/src/parsdate.c
+++ b/src/parsdate.c
@@ -5,7 +5,7 @@
 #define YYBYACC 1
 #define YYMAJOR 1
 #define YYMINOR 9
-#define YYPATCH 20180609
+#define YYPATCH 20190617
 
 #define YYEMPTY        (-1)
 #define yyclearin      (yychar = YYEMPTY)
@@ -22,7 +22,7 @@
 #include <LYLeaks.h>
 
 /*
- *  $LynxId: parsdate.c,v 1.27 2018/12/28 01:54:18 tom Exp $
+ *  $LynxId: parsdate.c,v 1.28 2019/08/28 23:01:49 tom Exp $
  *
  *  This module is adapted and extended from tin, to use for LYmktime().
  *
@@ -30,7 +30,7 @@
  *  Module    : parsedate.y
  *  Author    : S. Bellovin, R. $alz, J. Berets, P. Eggert
  *  Created   : 1990-08-01
- *  Updated   : 2018-12-27 (by Thomas Dickey, for Lynx)
+ *  Updated   : 2019-08-28 (by Thomas Dickey, for Lynx)
  *  Notes     : This grammar has 8 shift/reduce conflicts.
  *
  *              Originally written by Steven M. Bellovin <smb@research.att.com>
@@ -86,7 +86,7 @@ extern int date_parse(void);
 
     /* See the LeapYears table in Convert. */
 #define EPOCH		1970
-#define END_OF_TIME	2038
+#define END_OF_TIME	2200
 
     /* Constants for general time calculations. */
 #define DST_OFFSET	1
@@ -620,11 +620,18 @@ static time_t Convert(time_t Month, time_t Day, time_t Year, time_t Hours,
     {
 	0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
     };
+    /* *INDENT-OFF* */
     static const int LeapYears[] =
     {
 	1972, 1976, 1980, 1984, 1988, 1992, 1996,
-	2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028, 2032, 2036
+	2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028, 2032, 2036,
+	2040, 2044, 2048, 2052, 2056, 2060, 2064, 2068, 2072, 2076,
+	2080, 2084, 2088, 2092, 2096, /***/ 2104, 2108, 2112, 2116,
+	2120, 2124, 2128, 2132, 2136, 2140, 2144, 2148, 2152, 2156,
+	2160, 2164, 2168, 2172, 2176, 2180, 2184, 2188, 2192, 2196,
     };
+    /* *INDENT-ON* */
+
     const int *yp;
     const int *mp;
     int i;
@@ -1041,7 +1048,7 @@ time_t parsedate(char *p,
      * from the error return value.  (Alternately could set errno on error.) */
     return (Start == BAD_TIME) ? 0 : Start;
 }
-#line 1045 "y.tab.c"
+#line 1052 "y.tab.c"
 
 #if YYDEBUG
 #include <stdio.h>	/* needed for printf */
@@ -1526,7 +1533,7 @@ case 35:
 	    yyval.Meridian = yystack.l_mark[0].Meridian;
 	}
 break;
-#line 1530 "y.tab.c"
+#line 1537 "y.tab.c"
     }
     yystack.s_mark -= yym;
     yystate = *yystack.s_mark;