summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerick Rethans <github@derickrethans.nl>2016-09-30 20:31:05 +0100
committerDerick Rethans <github@derickrethans.nl>2016-09-30 20:31:05 +0100
commit7deb32abc9e8b16e789e37a6f7ea0ed817837e2f (patch)
treebd7ed917bc2f5ca08da57de66b9fba2d5d7711db
parentdd937129113fb0cc435c579e8308218d119d9726 (diff)
parent91fd4bf000a652d7f32ccf1c9551540eff167d49 (diff)
downloadphp-git-7deb32abc9e8b16e789e37a6f7ea0ed817837e2f.tar.gz
Merge branch 'PHP-5.6' into PHP-7.0
-rw-r--r--ext/date/lib/parse_date.c204
-rw-r--r--ext/date/lib/parse_date.re8
2 files changed, 110 insertions, 102 deletions
diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
index 913e2a78c3..a23dc81db2 100644
--- a/ext/date/lib/parse_date.c
+++ b/ext/date/lib/parse_date.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.15.3 on Sun Jul 24 14:52:04 2016 */
+/* Generated by re2c 0.15.3 on Fri Sep 30 20:30:54 2016 */
#line 1 "ext/date/lib/parse_date.re"
/*
* The MIT License (MIT)
@@ -396,8 +396,12 @@ static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
}
++*ptr;
if (**ptr == '.') {
- *ptr += 3;
- } else {
+ ++*ptr;
+ }
+ if (**ptr == 'M' || **ptr == 'm') {
+ ++*ptr;
+ }
+ if (**ptr == '.') {
++*ptr;
}
return retval;
@@ -820,11 +824,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
std:
s->tok = cursor;
s->len = 0;
-#line 946 "ext/date/lib/parse_date.re"
+#line 950 "ext/date/lib/parse_date.re"
-#line 828 "<stdout>"
+#line 832 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
@@ -959,7 +963,7 @@ yy2:
}
}
yy3:
-#line 1626 "ext/date/lib/parse_date.re"
+#line 1630 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("tzcorrection | tz");
@@ -972,7 +976,7 @@ yy3:
TIMELIB_DEINIT;
return TIMELIB_TIMEZONE;
}
-#line 976 "<stdout>"
+#line 980 "<stdout>"
yy4:
yych = *++YYCURSOR;
if (yych <= 'E') {
@@ -1272,12 +1276,12 @@ yy11:
if (yych <= '/') goto yy12;
if (yych <= '9') goto yy1385;
yy12:
-#line 1721 "ext/date/lib/parse_date.re"
+#line 1725 "ext/date/lib/parse_date.re"
{
add_error(s, "Unexpected character");
goto std;
}
-#line 1281 "<stdout>"
+#line 1285 "<stdout>"
yy13:
yych = *++YYCURSOR;
if (yych <= 'R') {
@@ -2291,22 +2295,22 @@ yy48:
if (yych <= '/') goto yy49;
if (yych <= '9') goto yy54;
yy49:
-#line 1710 "ext/date/lib/parse_date.re"
+#line 1714 "ext/date/lib/parse_date.re"
{
goto std;
}
-#line 2299 "<stdout>"
+#line 2303 "<stdout>"
yy50:
yych = *++YYCURSOR;
goto yy49;
yy51:
++YYCURSOR;
-#line 1715 "ext/date/lib/parse_date.re"
+#line 1719 "ext/date/lib/parse_date.re"
{
s->pos = cursor; s->line++;
goto std;
}
-#line 2310 "<stdout>"
+#line 2314 "<stdout>"
yy53:
yych = *++YYCURSOR;
goto yy12;
@@ -2673,7 +2677,7 @@ yy71:
if (yych == 'S') goto yy73;
if (yych == 's') goto yy73;
yy72:
-#line 1694 "ext/date/lib/parse_date.re"
+#line 1698 "ext/date/lib/parse_date.re"
{
timelib_ull i;
DEBUG_OUTPUT("relative");
@@ -2688,7 +2692,7 @@ yy72:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2692 "<stdout>"
+#line 2696 "<stdout>"
yy73:
yych = *++YYCURSOR;
if (yych == 'D') goto yy74;
@@ -3356,7 +3360,7 @@ yy165:
}
}
yy166:
-#line 1557 "ext/date/lib/parse_date.re"
+#line 1561 "ext/date/lib/parse_date.re"
{
const timelib_relunit* relunit;
DEBUG_OUTPUT("daytext");
@@ -3373,7 +3377,7 @@ yy166:
TIMELIB_DEINIT;
return TIMELIB_WEEKDAY;
}
-#line 3377 "<stdout>"
+#line 3381 "<stdout>"
yy167:
yych = *++YYCURSOR;
if (yych <= 'K') {
@@ -3866,7 +3870,7 @@ yy192:
}
}
yy193:
-#line 1616 "ext/date/lib/parse_date.re"
+#line 1620 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("monthtext");
TIMELIB_INIT;
@@ -3875,7 +3879,7 @@ yy193:
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 3879 "<stdout>"
+#line 3883 "<stdout>"
yy194:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
@@ -3921,7 +3925,7 @@ yy197:
}
}
yy198:
-#line 1362 "ext/date/lib/parse_date.re"
+#line 1366 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datetextual | datenoyear");
@@ -3934,7 +3938,7 @@ yy198:
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 3938 "<stdout>"
+#line 3942 "<stdout>"
yy199:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
@@ -4179,7 +4183,7 @@ yy221:
if (yych <= ':') goto yy224;
}
yy222:
-#line 1664 "ext/date/lib/parse_date.re"
+#line 1668 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
@@ -4208,7 +4212,7 @@ yy222:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 4212 "<stdout>"
+#line 4216 "<stdout>"
yy223:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
@@ -4850,7 +4854,7 @@ yy276:
}
yy277:
++YYCURSOR;
-#line 1640 "ext/date/lib/parse_date.re"
+#line 1644 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
TIMELIB_INIT;
@@ -4873,7 +4877,7 @@ yy277:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 4877 "<stdout>"
+#line 4881 "<stdout>"
yy279:
yych = *++YYCURSOR;
if (yych <= 0x1F) {
@@ -5035,7 +5039,7 @@ yy292:
yy293:
++YYCURSOR;
yy294:
-#line 1334 "ext/date/lib/parse_date.re"
+#line 1338 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datenoday");
@@ -5048,7 +5052,7 @@ yy294:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 5052 "<stdout>"
+#line 5056 "<stdout>"
yy295:
yych = *++YYCURSOR;
if (yych <= '/') {
@@ -6199,7 +6203,7 @@ yy361:
if ((yych = *YYCURSOR) <= '/') goto yy363;
if (yych <= '9') goto yy364;
yy363:
-#line 1478 "ext/date/lib/parse_date.re"
+#line 1482 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pgtextshort");
@@ -6212,7 +6216,7 @@ yy363:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 6216 "<stdout>"
+#line 6220 "<stdout>"
yy364:
yych = *++YYCURSOR;
if (yych <= '/') goto yy363;
@@ -6821,7 +6825,7 @@ yy391:
if (yych <= 'z') goto yy142;
}
yy392:
-#line 1536 "ext/date/lib/parse_date.re"
+#line 1540 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("ago");
TIMELIB_INIT;
@@ -6841,7 +6845,7 @@ yy392:
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-#line 6845 "<stdout>"
+#line 6849 "<stdout>"
yy393:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
@@ -8529,7 +8533,7 @@ yy452:
yy453:
++YYCURSOR;
yy454:
-#line 1239 "ext/date/lib/parse_date.re"
+#line 1243 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
TIMELIB_INIT;
@@ -8540,7 +8544,7 @@ yy454:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 8544 "<stdout>"
+#line 8548 "<stdout>"
yy455:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
@@ -9076,7 +9080,7 @@ yy474:
}
}
yy475:
-#line 1376 "ext/date/lib/parse_date.re"
+#line 1380 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenoyearrev");
TIMELIB_INIT;
@@ -9087,7 +9091,7 @@ yy475:
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 9091 "<stdout>"
+#line 9095 "<stdout>"
yy476:
yyaccept = 10;
yych = *(YYMARKER = ++YYCURSOR);
@@ -9215,7 +9219,7 @@ yy485:
}
yy487:
++YYCURSOR;
-#line 1094 "ext/date/lib/parse_date.re"
+#line 1098 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
TIMELIB_INIT;
@@ -9231,7 +9235,7 @@ yy487:
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-#line 9235 "<stdout>"
+#line 9239 "<stdout>"
yy489:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
@@ -9242,7 +9246,7 @@ yy489:
if (yych <= ':') goto yy492;
}
yy490:
-#line 1131 "ext/date/lib/parse_date.re"
+#line 1135 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
@@ -9267,7 +9271,7 @@ yy490:
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 9271 "<stdout>"
+#line 9275 "<stdout>"
yy491:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
@@ -9544,7 +9548,7 @@ yy520:
}
yy522:
++YYCURSOR;
-#line 1111 "ext/date/lib/parse_date.re"
+#line 1115 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("mssqltime");
TIMELIB_INIT;
@@ -9563,7 +9567,7 @@ yy522:
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 9567 "<stdout>"
+#line 9571 "<stdout>"
yy524:
yyaccept = 11;
YYMARKER = ++YYCURSOR;
@@ -9658,7 +9662,7 @@ yy533:
if ((yych = *YYCURSOR) <= '/') goto yy534;
if (yych <= '9') goto yy540;
yy534:
-#line 1293 "ext/date/lib/parse_date.re"
+#line 1297 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datefull");
@@ -9672,7 +9676,7 @@ yy534:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
-#line 9676 "<stdout>"
+#line 9680 "<stdout>"
yy535:
yych = *++YYCURSOR;
if (yych == 'M') goto yy536;
@@ -10336,7 +10340,7 @@ yy604:
if (yych <= '/') goto yy56;
if (yych >= ':') goto yy56;
++YYCURSOR;
-#line 1308 "ext/date/lib/parse_date.re"
+#line 1312 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("pointed date YYYY");
TIMELIB_INIT;
@@ -10347,7 +10351,7 @@ yy604:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 10351 "<stdout>"
+#line 10355 "<stdout>"
yy607:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
@@ -10378,7 +10382,7 @@ yy610:
if (yych <= '/') goto yy611;
if (yych <= '9') goto yy604;
yy611:
-#line 1320 "ext/date/lib/parse_date.re"
+#line 1324 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pointed date YY");
@@ -10391,7 +10395,7 @@ yy611:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 10395 "<stdout>"
+#line 10399 "<stdout>"
yy612:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
@@ -10987,7 +10991,7 @@ yy655:
}
}
yy656:
-#line 1279 "ext/date/lib/parse_date.re"
+#line 1283 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("gnudateshort");
@@ -11000,7 +11004,7 @@ yy656:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 11004 "<stdout>"
+#line 11008 "<stdout>"
yy657:
yyaccept = 13;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11096,7 +11100,7 @@ yy665:
}
}
yy666:
-#line 1223 "ext/date/lib/parse_date.re"
+#line 1227 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("americanshort | american");
@@ -11111,7 +11115,7 @@ yy666:
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-#line 11115 "<stdout>"
+#line 11119 "<stdout>"
yy667:
yyaccept = 14;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11310,7 +11314,7 @@ yy699:
if (yych <= '9') goto yy702;
if (yych <= ':') goto yy703;
yy700:
-#line 1506 "ext/date/lib/parse_date.re"
+#line 1510 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("clf");
@@ -11330,7 +11334,7 @@ yy700:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 11334 "<stdout>"
+#line 11338 "<stdout>"
yy701:
yych = *++YYCURSOR;
if (yych <= '5') {
@@ -11817,7 +11821,7 @@ yy762:
if (yych <= 't') goto yy662;
}
yy763:
-#line 1251 "ext/date/lib/parse_date.re"
+#line 1255 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("iso8601date2");
@@ -11830,7 +11834,7 @@ yy763:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 11834 "<stdout>"
+#line 11838 "<stdout>"
yy764:
yych = *++YYCURSOR;
if (yych == 'C') goto yy765;
@@ -11861,7 +11865,7 @@ yy769:
if (yych >= '2') goto yy56;
yy770:
++YYCURSOR;
-#line 1492 "ext/date/lib/parse_date.re"
+#line 1496 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pgtextreverse");
@@ -11874,7 +11878,7 @@ yy770:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 11878 "<stdout>"
+#line 11882 "<stdout>"
yy772:
yych = *++YYCURSOR;
if (yych == 'V') goto yy765;
@@ -11999,7 +12003,7 @@ yy782:
default: goto yy783;
}
yy783:
-#line 1527 "ext/date/lib/parse_date.re"
+#line 1531 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("year4");
TIMELIB_INIT;
@@ -12007,7 +12011,7 @@ yy783:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 12011 "<stdout>"
+#line 12015 "<stdout>"
yy784:
yych = *++YYCURSOR;
switch (yych) {
@@ -12145,7 +12149,7 @@ yy792:
if (yych <= 'X') goto yy883;
}
yy793:
-#line 1348 "ext/date/lib/parse_date.re"
+#line 1352 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("datenodayrev");
@@ -12158,7 +12162,7 @@ yy793:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 12162 "<stdout>"
+#line 12166 "<stdout>"
yy794:
yych = *++YYCURSOR;
if (yych == 'I') goto yy927;
@@ -12352,7 +12356,7 @@ yy813:
if (yych <= '/') goto yy814;
if (yych <= '7') goto yy816;
yy814:
-#line 1459 "ext/date/lib/parse_date.re"
+#line 1463 "ext/date/lib/parse_date.re"
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweek");
@@ -12370,14 +12374,14 @@ yy814:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12374 "<stdout>"
+#line 12378 "<stdout>"
yy815:
yych = *++YYCURSOR;
if (yych <= '/') goto yy56;
if (yych >= '8') goto yy56;
yy816:
++YYCURSOR;
-#line 1440 "ext/date/lib/parse_date.re"
+#line 1444 "ext/date/lib/parse_date.re"
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweekday");
@@ -12395,7 +12399,7 @@ yy816:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12399 "<stdout>"
+#line 12403 "<stdout>"
yy818:
yych = *++YYCURSOR;
if (yych <= '/') goto yy60;
@@ -12455,7 +12459,7 @@ yy820:
}
}
yy821:
-#line 1426 "ext/date/lib/parse_date.re"
+#line 1430 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("pgydotd");
@@ -12468,7 +12472,7 @@ yy821:
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 12472 "<stdout>"
+#line 12476 "<stdout>"
yy822:
yych = *++YYCURSOR;
if (yych <= '/') goto yy60;
@@ -12550,7 +12554,7 @@ yy840:
yy841:
++YYCURSOR;
yy842:
-#line 1400 "ext/date/lib/parse_date.re"
+#line 1404 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
@@ -12575,7 +12579,7 @@ yy842:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 12579 "<stdout>"
+#line 12583 "<stdout>"
yy843:
yych = *++YYCURSOR;
if (yych <= '2') {
@@ -12831,7 +12835,7 @@ yy847:
}
}
yy848:
-#line 1388 "ext/date/lib/parse_date.re"
+#line 1392 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenocolon");
TIMELIB_INIT;
@@ -12842,7 +12846,7 @@ yy848:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 12846 "<stdout>"
+#line 12850 "<stdout>"
yy849:
yych = *++YYCURSOR;
if (yych <= 'H') {
@@ -13636,7 +13640,7 @@ yy972:
if (yych <= '/') goto yy973;
if (yych <= '9') goto yy995;
yy973:
-#line 1265 "ext/date/lib/parse_date.re"
+#line 1269 "ext/date/lib/parse_date.re"
{
int length = 0;
DEBUG_OUTPUT("gnudateshorter");
@@ -13649,7 +13653,7 @@ yy973:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 13653 "<stdout>"
+#line 13657 "<stdout>"
yy974:
yyaccept = 22;
yych = *(YYMARKER = ++YYCURSOR);
@@ -14561,7 +14565,7 @@ yy1065:
default: goto yy1067;
}
yy1067:
-#line 1157 "ext/date/lib/parse_date.re"
+#line 1161 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("gnunocolon");
TIMELIB_INIT;
@@ -14583,7 +14587,7 @@ yy1067:
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
-#line 14587 "<stdout>"
+#line 14591 "<stdout>"
yy1068:
yych = *++YYCURSOR;
if (yych <= '/') goto yy60;
@@ -14667,7 +14671,7 @@ yy1074:
}
}
yy1075:
-#line 1203 "ext/date/lib/parse_date.re"
+#line 1207 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("iso8601nocolon");
@@ -14686,7 +14690,7 @@ yy1075:
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 14690 "<stdout>"
+#line 14694 "<stdout>"
yy1076:
yyaccept = 25;
yych = *(YYMARKER = ++YYCURSOR);
@@ -15542,7 +15546,7 @@ yy1116:
}
}
yy1117:
-#line 1599 "ext/date/lib/parse_date.re"
+#line 1603 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior = 0;
@@ -15558,7 +15562,7 @@ yy1117:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15562 "<stdout>"
+#line 15566 "<stdout>"
yy1118:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -15600,7 +15604,7 @@ yy1124:
if (yych != 'f') goto yy56;
yy1125:
++YYCURSOR;
-#line 1072 "ext/date/lib/parse_date.re"
+#line 1076 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior = 0;
@@ -15621,7 +15625,7 @@ yy1125:
TIMELIB_DEINIT;
return TIMELIB_WEEK_DAY_OF_MONTH;
}
-#line 15625 "<stdout>"
+#line 15629 "<stdout>"
yy1127:
yyaccept = 26;
yych = *(YYMARKER = ++YYCURSOR);
@@ -15714,7 +15718,7 @@ yy1140:
}
}
yy1141:
-#line 1575 "ext/date/lib/parse_date.re"
+#line 1579 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior = 0;
@@ -15737,7 +15741,7 @@ yy1141:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 15741 "<stdout>"
+#line 15745 "<stdout>"
yy1142:
yych = *++YYCURSOR;
goto yy1117;
@@ -18261,7 +18265,7 @@ yy1293:
if (yych <= '9') goto yy1296;
goto yy1297;
yy1294:
-#line 1049 "ext/date/lib/parse_date.re"
+#line 1053 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("backof | frontof");
TIMELIB_INIT;
@@ -18283,7 +18287,7 @@ yy1294:
TIMELIB_DEINIT;
return TIMELIB_LF_DAY_OF_MONTH;
}
-#line 18287 "<stdout>"
+#line 18291 "<stdout>"
yy1295:
yyaccept = 28;
yych = *(YYMARKER = ++YYCURSOR);
@@ -18522,7 +18526,7 @@ yy1314:
if (yych != 'f') goto yy56;
yy1315:
++YYCURSOR;
-#line 1032 "ext/date/lib/parse_date.re"
+#line 1036 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("firstdayof | lastdayof");
TIMELIB_INIT;
@@ -18538,7 +18542,7 @@ yy1315:
TIMELIB_DEINIT;
return TIMELIB_LF_DAY_OF_MONTH;
}
-#line 18542 "<stdout>"
+#line 18546 "<stdout>"
yy1317:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
@@ -19898,7 +19902,7 @@ yy1385:
if (yych <= '/') goto yy1387;
if (yych <= '9') goto yy1385;
yy1387:
-#line 1006 "ext/date/lib/parse_date.re"
+#line 1010 "ext/date/lib/parse_date.re"
{
timelib_ull i;
@@ -19923,7 +19927,7 @@ yy1387:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 19927 "<stdout>"
+#line 19931 "<stdout>"
yy1388:
yych = *++YYCURSOR;
if (yych <= 'N') {
@@ -20329,7 +20333,7 @@ yy1415:
yy1416:
++YYCURSOR;
yy1417:
-#line 994 "ext/date/lib/parse_date.re"
+#line 998 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("tomorrow");
TIMELIB_INIT;
@@ -20340,7 +20344,7 @@ yy1417:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 20344 "<stdout>"
+#line 20348 "<stdout>"
yy1418:
yych = *++YYCURSOR;
if (yych <= 'Y') {
@@ -20372,7 +20376,7 @@ yy1419:
if (yych <= 'z') goto yy144;
}
yy1420:
-#line 984 "ext/date/lib/parse_date.re"
+#line 988 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("midnight | today");
TIMELIB_INIT;
@@ -20381,7 +20385,7 @@ yy1420:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 20385 "<stdout>"
+#line 20389 "<stdout>"
yy1421:
yych = *++YYCURSOR;
if (yych <= 'S') {
@@ -22313,7 +22317,7 @@ yy1499:
if (yych <= 'z') goto yy142;
}
yy1500:
-#line 963 "ext/date/lib/parse_date.re"
+#line 967 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("now");
TIMELIB_INIT;
@@ -22321,7 +22325,7 @@ yy1500:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 22325 "<stdout>"
+#line 22329 "<stdout>"
yy1501:
yych = *++YYCURSOR;
if (yych <= 'N') {
@@ -22452,7 +22456,7 @@ yy1507:
if (yych <= 'z') goto yy143;
}
yy1508:
-#line 972 "ext/date/lib/parse_date.re"
+#line 976 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("noon");
TIMELIB_INIT;
@@ -22463,7 +22467,7 @@ yy1508:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 22467 "<stdout>"
+#line 22471 "<stdout>"
yy1509:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
@@ -22973,7 +22977,7 @@ yy1529:
yy1530:
++YYCURSOR;
yy1531:
-#line 951 "ext/date/lib/parse_date.re"
+#line 955 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("yesterday");
TIMELIB_INIT;
@@ -22984,7 +22988,7 @@ yy1531:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 22988 "<stdout>"
+#line 22992 "<stdout>"
yy1532:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
@@ -23149,7 +23153,7 @@ yy1537:
goto yy1531;
}
}
-#line 1725 "ext/date/lib/parse_date.re"
+#line 1729 "ext/date/lib/parse_date.re"
}
diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
index 3d4cf6bb61..79dabe4ef6 100644
--- a/ext/date/lib/parse_date.re
+++ b/ext/date/lib/parse_date.re
@@ -394,8 +394,12 @@ static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
}
++*ptr;
if (**ptr == '.') {
- *ptr += 3;
- } else {
+ ++*ptr;
+ }
+ if (**ptr == 'M' || **ptr == 'm') {
+ ++*ptr;
+ }
+ if (**ptr == '.') {
++*ptr;
}
return retval;