]> granicus.if.org Git - php/commitdiff
- Fixed bug #43075 (Support 2007-11-01T24:00:00+00:00).
authorDerick Rethans <derick@php.net>
Thu, 17 Jan 2008 20:43:58 +0000 (20:43 +0000)
committerDerick Rethans <derick@php.net>
Thu, 17 Jan 2008 20:43:58 +0000 (20:43 +0000)
ext/date/lib/parse_date.c
ext/date/lib/parse_date.re
ext/date/tests/bug43075.phpt [new file with mode: 0644]

index def7fe3726c40a35dce6a8efe6f2a0e202400ed7..f740bf7b480d77c9688ffe4e9804ac85147971c4 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.12.1 on Sun Jan 13 15:57:11 2008 */
+/* Generated by re2c 0.12.1 on Thu Jan 17 21:42:37 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;
                }
index 986fc9ce6334d9499db31986c81764e57a2b86ce..7bcf4af60232146b40f33f5f1c25489e2033b324 100644 (file)
@@ -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];
diff --git a/ext/date/tests/bug43075.phpt b/ext/date/tests/bug43075.phpt
new file mode 100644 (file)
index 0000000..98e0119
--- /dev/null
@@ -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