Browse Source

- MFH: Fixed bug #43075 (Support 2007-11-01T24:00:00+00:00).

PECL
Derick Rethans 19 years ago
parent
commit
3d0797da2b
  1. 1
      NEWS
  2. 40
      ext/date/lib/parse_date.c
  3. 4
      ext/date/lib/parse_date.re
  4. 9
      ext/date/tests/bug43075.phpt

1
NEWS

@ -80,6 +80,7 @@ PHP NEWS
- Fixed bug #43808 (date_create never fails (even when it should)). (Derick)
- Fixed bug #43527 (DateTime created from a timestamp reports environment
timezone). (Derick)
- Fixed bug #43075 (Support 2007-11-01T24:00:00+00:00). (Derick)
- Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed
using a timestamp). (Derick)
- Fixed bug #43143 (Warning about empty IV with MCRYPT_MODE_ECB). (Derick)

40
ext/date/lib/parse_date.c

@ -1,4 +1,4 @@
/* Generated by re2c 0.12.1 on Thu Jan 17 09:50:31 2008 */
/* Generated by re2c 0.12.1 on Thu Jan 17 21:36:33 2008 */
#line 1 "ext/date/lib/parse_date.re"
/*
+----------------------------------------------------------------------+
@ -1451,8 +1451,8 @@ yy15:
case '0':
case '1':
case '2':
case '3': goto yy1238;
case '4':
case '3':
case '4': goto yy1238;
case '5':
case '6':
case '7':
@ -5548,7 +5548,7 @@ yy318:
if(yych == '.') goto yy371;
goto yy308;
} else {
if(yych <= '3') goto yy403;
if(yych <= '4') goto yy403;
if(yych <= '9') goto yy400;
if(yych <= ':') goto yy371;
goto yy308;
@ -5630,7 +5630,7 @@ yy328:
if(yych == '.') goto yy330;
goto yy53;
} else {
if(yych <= '3') goto yy329;
if(yych <= '4') goto yy329;
if(yych == ':') goto yy330;
goto yy53;
}
@ -6013,7 +6013,7 @@ yy362:
yych = *++YYCURSOR;
if(yych <= '5') {
if(yych <= '/') goto yy332;
if(yych >= '4') goto yy365;
if(yych >= '5') goto yy365;
} else {
if(yych <= '9') goto yy337;
if(yych <= ':') goto yy364;
@ -6073,7 +6073,7 @@ yy368:
if(yych == '.') goto yy371;
goto yy308;
} else {
if(yych <= '3') goto yy398;
if(yych <= '4') goto yy398;
if(yych <= '9') goto yy370;
if(yych <= ':') goto yy371;
goto yy308;
@ -6633,7 +6633,7 @@ yy410:
if(yych == '.') goto yy371;
goto yy308;
} else {
if(yych <= '3') goto yy413;
if(yych <= '4') goto yy413;
if(yych <= '9') goto yy412;
if(yych <= ':') goto yy371;
goto yy308;
@ -6714,7 +6714,7 @@ yy417:
if(yych == '.') goto yy420;
goto yy308;
} else {
if(yych <= '3') goto yy434;
if(yych <= '4') goto yy434;
if(yych <= '9') goto yy433;
if(yych <= ':') goto yy420;
goto yy308;
@ -7210,7 +7210,7 @@ yy444:
if(yych == '.') goto yy447;
goto yy308;
} else {
if(yych <= '3') goto yy458;
if(yych <= '4') goto yy458;
if(yych <= '9') goto yy457;
if(yych <= ':') goto yy447;
goto yy308;
@ -11893,7 +11893,7 @@ yy641:
if(yych <= 0x1F) goto yy3;
goto yy57;
} else {
if(yych <= '3') {
if(yych <= '4') {
if(yych <= '/') goto yy3;
goto yy662;
} else {
@ -15000,7 +15000,7 @@ yy874:
YYDEBUG(874, *YYCURSOR);
yych = *++YYCURSOR;
if(yych <= '/') goto yy53;
if(yych >= '4') goto yy53;
if(yych >= '5') goto yy53;
yy875:
YYDEBUG(875, *YYCURSOR);
yych = *++YYCURSOR;
@ -15095,7 +15095,7 @@ yy888:
yych = *++YYCURSOR;
if(yych <= '5') {
if(yych <= '/') goto yy887;
if(yych >= '4') goto yy891;
if(yych >= '5') goto yy891;
} else {
if(yych <= '9') goto yy892;
if(yych <= ':') goto yy890;
@ -16359,7 +16359,7 @@ yy1012:
YYDEBUG(1012, *YYCURSOR);
yych = *++YYCURSOR;
if(yych <= '/') goto yy53;
if(yych >= '4') goto yy53;
if(yych >= '5') goto yy53;
yy1013:
YYDEBUG(1013, *YYCURSOR);
yych = *++YYCURSOR;
@ -16750,7 +16750,7 @@ yy1031:
YYDEBUG(1031, *YYCURSOR);
yych = *++YYCURSOR;
if(yych <= '/') goto yy53;
if(yych <= '3') goto yy1037;
if(yych <= '4') goto yy1037;
if(yych <= '5') goto yy1033;
goto yy53;
yy1032:
@ -16836,7 +16836,7 @@ yy1044:
yych = *++YYCURSOR;
if(yych <= '5') {
if(yych <= '/') goto yy53;
if(yych <= '3') goto yy1052;
if(yych <= '4') goto yy1052;
goto yy1033;
} else {
if(yych == ':') goto yy1046;
@ -17749,7 +17749,7 @@ yy1165:
YYDEBUG(1165, *YYCURSOR);
yych = *++YYCURSOR;
if(yych <= '/') goto yy53;
if(yych <= '3') goto yy1166;
if(yych <= '4') goto yy1166;
if(yych == ':') goto yy1167;
goto yy53;
yy1166:
@ -17918,7 +17918,7 @@ yy1182:
YYDEBUG(1182, *YYCURSOR);
yych = *++YYCURSOR;
if(yych <= '/') goto yy53;
if(yych <= '3') goto yy1183;
if(yych <= '4') goto yy1183;
if(yych == ':') goto yy1167;
goto yy53;
yy1183:
@ -18003,7 +18003,7 @@ yy1196:
yych = *++YYCURSOR;
if(yych <= '5') {
if(yych <= '/') goto yy1021;
if(yych >= '4') goto yy1199;
if(yych >= '5') goto yy1199;
} else {
if(yych <= '9') goto yy1020;
if(yych <= ':') goto yy1198;
@ -19528,7 +19528,7 @@ yy1283:
if(yych == '.') goto yy1240;
goto yy53;
} else {
if(yych <= '3') goto yy1285;
if(yych <= '4') goto yy1285;
if(yych == ':') goto yy1240;
goto yy53;
}

4
ext/date/lib/parse_date.re

@ -836,8 +836,8 @@ frac = "."[0-9]+;
ago = 'ago';
hour24 = [01]?[0-9] | "2"[0-3];
hour24lz = [01][0-9] | "2"[0-3];
hour24 = [01]?[0-9] | "2"[0-4];
hour24lz = [01][0-9] | "2"[0-4];
hour12 = "0"?[1-9] | "1"[0-2];
minute = [0-5]?[0-9];
minutelz = [0-5][0-9];

9
ext/date/tests/bug43075.phpt

@ -0,0 +1,9 @@
--TEST--
Bug #43075 (Support 24 as hour)
--FILE--
<?php
$d = date_create("2007-11-01T24:34:00+00:00");
echo $d->format("c");
?>
--EXPECT--
2007-11-02T00:34:00+00:00
Loading…
Cancel
Save