derick          Thu Aug 25 05:46:33 2005 EDT

  Modified files:              
    /php-src/ext/date/lib       parse_date.c 
    /php-src/ext/date/lib/resource      parse_date.re 
    /php-src/ext/date/tests     bug34087.phpt 
  Log:
  - Fixed bug #34087 for real.
  
  
http://cvs.php.net/diff.php/php-src/ext/date/lib/parse_date.c?r1=1.31&r2=1.32&ty=u
Index: php-src/ext/date/lib/parse_date.c
diff -u php-src/ext/date/lib/parse_date.c:1.31 
php-src/ext/date/lib/parse_date.c:1.32
--- php-src/ext/date/lib/parse_date.c:1.31      Wed Aug 24 09:47:26 2005
+++ php-src/ext/date/lib/parse_date.c   Thu Aug 25 05:46:26 2005
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.9.8.dev on Wed Aug 24 15:27:50 2005 */
+/* Generated by re2c 0.9.10.dev on Thu Aug 25 11:40:22 2005 */
 #line 1 "resource/parse_date.re"
 /*
    +----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.c,v 1.31 2005/08/24 13:47:26 derick Exp $ */
+/* $Id: parse_date.c,v 1.32 2005/08/25 09:46:26 derick Exp $ */
 
 #include "timelib.h"
 
@@ -773,7 +773,7 @@
 std:
        s->tok = cursor;
        s->len = 0;
-#line 878 "resource/parse_date.re"
+#line 879 "resource/parse_date.re"
 
 
 {
@@ -890,14 +890,14 @@
                if(yych <= 'Z') goto yy48;
                goto yy3;
        } else {
-               if(yych == 'e') goto yy1308;
+               if(yych == 'e') goto yy1312;
                if(yych <= 'z') goto yy48;
                goto yy3;
        }
 yy3:
        YYDEBUG(3, *YYCURSOR);
 
-#line 1360 "resource/parse_date.re"
+#line 1361 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("tzcorrection | tz");
@@ -931,7 +931,7 @@
                                if(yych <= 'i') goto yy605;
                                goto yy48;
                        } else {
-                               if(yych <= 'o') goto yy1305;
+                               if(yych <= 'o') goto yy1309;
                                if(yych <= 'z') goto yy48;
                                goto yy3;
                        }
@@ -979,21 +979,21 @@
        case 'H':       case 'h':       goto yy470;
        case 'U':       case 'u':       goto yy471;
        case 'W':       case 'w':       goto yy472;
-       case 'o':       goto yy1293;
+       case 'o':       goto yy1297;
        default:        goto yy3;
        }
 yy6:
        YYDEBUG(6, *YYCURSOR);
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == '-') goto yy1289;
+       if(yych == '-') goto yy1293;
        if(yych <= '0') goto yy7;
-       if(yych <= '9') goto yy1290;
+       if(yych <= '9') goto yy1294;
        goto yy7;
 yy7:
        YYDEBUG(7, *YYCURSOR);
 
-#line 1426 "resource/parse_date.re"
+#line 1427 "resource/parse_date.re"
 {
 /*             printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */
                s->errors++;
@@ -1031,9 +1031,9 @@
        case 'o':       case 's':
        case 't':       case 'w':       case 'y':       goto yy776;
        case '-':       goto yy783;
-       case '.':       goto yy1255;
+       case '.':       goto yy1259;
        case '/':       goto yy782;
-       case '0':       goto yy1288;
+       case '0':       goto yy1292;
        case '1':
        case '2':
        case '3':
@@ -1042,8 +1042,8 @@
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy1287;
-       case ':':       goto yy1256;
+       case '9':       goto yy1291;
+       case ':':       goto yy1260;
        default:        goto yy7;
        }
 yy9:
@@ -1081,14 +1081,14 @@
        case '/':       goto yy782;
        case '0':
        case '1':
-       case '2':       goto yy1287;
+       case '2':       goto yy1291;
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy1254;
+       case '9':       goto yy1258;
        case ':':       goto yy795;
        default:        goto yy7;
        }
@@ -1128,13 +1128,13 @@
        case '0':
        case '1':
        case '2':
-       case '3':       goto yy1254;
+       case '3':       goto yy1258;
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy1246;
+       case '9':       goto yy1250;
        case ':':       goto yy795;
        default:        goto yy7;
        }
@@ -1172,7 +1172,7 @@
        case '.':       goto yy786;
        case '/':       goto yy782;
        case '0':
-       case '1':       goto yy1246;
+       case '1':       goto yy1250;
        case '2':
        case '3':
        case '4':
@@ -1922,7 +1922,7 @@
 yy44:
        YYDEBUG(44, *YYCURSOR);
 
-#line 1415 "resource/parse_date.re"
+#line 1416 "resource/parse_date.re"
 {
                goto std;
        }
@@ -1934,7 +1934,7 @@
 yy46:
        YYDEBUG(46, *YYCURSOR);
 
-#line 1420 "resource/parse_date.re"
+#line 1421 "resource/parse_date.re"
 {
                s->pos = cursor; s->line++;
                goto std;
@@ -2013,10 +2013,10 @@
        YYCURSOR = YYMARKER;
        switch(yyaccept){
        case 11:        goto yy797;
-       case 20:        goto yy1259;
-       case 21:        goto yy1267;
+       case 20:        goto yy1263;
+       case 21:        goto yy1271;
        case 12:        goto yy943;
-       case 18:        goto yy1175;
+       case 18:        goto yy1172;
        case 8: goto yy562;
        case 17:        goto yy1037;
        case 6: goto yy509;
@@ -2397,7 +2397,7 @@
 yy85:
        YYDEBUG(85, *YYCURSOR);
 
-#line 1399 "resource/parse_date.re"
+#line 1400 "resource/parse_date.re"
 {
                timelib_ull i;
                DEBUG_OUTPUT("relative");
@@ -3105,7 +3105,7 @@
 yy151:
        YYDEBUG(151, *YYCURSOR);
 
-#line 1354 "resource/parse_date.re"
+#line 1355 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("dayabbr");
                goto std;
@@ -3149,7 +3149,7 @@
 yy158:
        YYDEBUG(158, *YYCURSOR);
 
-#line 1338 "resource/parse_date.re"
+#line 1339 "resource/parse_date.re"
 {
                const timelib_relunit* relunit;
                DEBUG_OUTPUT("dayfull");
@@ -3533,7 +3533,7 @@
 yy190:
        YYDEBUG(190, *YYCURSOR);
 
-#line 1322 "resource/parse_date.re"
+#line 1323 "resource/parse_date.re"
 {
                timelib_sll i;
                DEBUG_OUTPUT("relativetext");
@@ -9178,7 +9178,7 @@
 yy509:
        YYDEBUG(509, *YYCURSOR);
 
-#line 1144 "resource/parse_date.re"
+#line 1145 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("datetextual | datenoyear");
                TIMELIB_INIT;
@@ -9350,7 +9350,7 @@
 yy527:
        YYDEBUG(527, *YYCURSOR);
 
-#line 1371 "resource/parse_date.re"
+#line 1372 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | 
dateshortwithtimelongtz");
@@ -9690,7 +9690,7 @@
 yy562:
        YYDEBUG(562, *YYCURSOR);
 
-#line 1118 "resource/parse_date.re"
+#line 1119 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("datenoday");
                TIMELIB_INIT;
@@ -10002,7 +10002,7 @@
 yy588:
        YYDEBUG(588, *YYCURSOR);
 
-#line 1253 "resource/parse_date.re"
+#line 1254 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("pgtextshort");
                TIMELIB_INIT;
@@ -11518,7 +11518,7 @@
 yy684:
        YYDEBUG(684, *YYCURSOR);
 
-#line 1307 "resource/parse_date.re"
+#line 1308 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("ago");
                TIMELIB_INIT;
@@ -13259,7 +13259,7 @@
                        if(yych == 'A') goto yy131;
                        goto yy54;
                } else {
-                       if(yych <= 'E') goto yy1245;
+                       if(yych <= 'E') goto yy1249;
                        if(yych <= 'T') goto yy54;
                        goto yy132;
                }
@@ -13268,7 +13268,7 @@
                        if(yych == 'a') goto yy131;
                        goto yy54;
                } else {
-                       if(yych <= 'e') goto yy1245;
+                       if(yych <= 'e') goto yy1249;
                        if(yych == 'u') goto yy132;
                        goto yy54;
                }
@@ -13466,7 +13466,7 @@
 yy788:
        YYDEBUG(788, *YYCURSOR);
 
-#line 1157 "resource/parse_date.re"
+#line 1158 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("datenoyearrev");
                TIMELIB_INIT;
@@ -13569,7 +13569,7 @@
 yy797:
        YYDEBUG(797, *YYCURSOR);
 
-#line 965 "resource/parse_date.re"
+#line 966 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
@@ -13720,7 +13720,7 @@
 yy812:
        YYDEBUG(812, *YYCURSOR);
 
-#line 950 "resource/parse_date.re"
+#line 951 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("timeshort12 | timelong12");
                TIMELIB_INIT;
@@ -13857,7 +13857,7 @@
 yy825:
        YYDEBUG(825, *YYCURSOR);
 
-#line 1092 "resource/parse_date.re"
+#line 1093 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("datefull");
                TIMELIB_INIT;
@@ -14488,7 +14488,7 @@
 yy893:
        YYDEBUG(893, *YYCURSOR);
 
-#line 1105 "resource/parse_date.re"
+#line 1106 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("pointed date");
                TIMELIB_INIT;
@@ -15068,7 +15068,7 @@
 yy939:
        YYDEBUG(939, *YYCURSOR);
 
-#line 1079 "resource/parse_date.re"
+#line 1080 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("gnudateshort");
                TIMELIB_INIT;
@@ -15102,7 +15102,7 @@
 yy943:
        YYDEBUG(943, *YYCURSOR);
 
-#line 1052 "resource/parse_date.re"
+#line 1053 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("americanshort | american");
                TIMELIB_INIT;
@@ -15338,7 +15338,7 @@
 yy976:
        YYDEBUG(976, *YYCURSOR);
 
-#line 1279 "resource/parse_date.re"
+#line 1280 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("clf");
@@ -15665,7 +15665,7 @@
 yy1016:
        YYDEBUG(1016, *YYCURSOR);
 
-#line 1266 "resource/parse_date.re"
+#line 1267 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("pgtextreverse");
                TIMELIB_INIT;
@@ -15810,7 +15810,7 @@
 yy1028:
        YYDEBUG(1028, *YYCURSOR);
 
-#line 1298 "resource/parse_date.re"
+#line 1299 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("year4");
                TIMELIB_INIT;
@@ -15824,8 +15824,8 @@
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
-       case '0':       goto yy1185;
-       case '1':       goto yy1186;
+       case '0':       goto yy1189;
+       case '1':       goto yy1190;
        case '2':
        case '3':
        case '4':
@@ -15834,14 +15834,14 @@
        case '7':
        case '8':
        case '9':       goto yy900;
-       case 'A':       case 'a':       goto yy1180;
-       case 'D':       case 'd':       goto yy1184;
-       case 'F':       case 'f':       goto yy1178;
-       case 'J':       case 'j':       goto yy1177;
-       case 'M':       case 'm':       goto yy1179;
-       case 'N':       case 'n':       goto yy1183;
-       case 'O':       case 'o':       goto yy1182;
-       case 'S':       case 's':       goto yy1181;
+       case 'A':       case 'a':       goto yy1184;
+       case 'D':       case 'd':       goto yy1188;
+       case 'F':       case 'f':       goto yy1182;
+       case 'J':       case 'j':       goto yy1181;
+       case 'M':       case 'm':       goto yy1183;
+       case 'N':       case 'n':       goto yy1187;
+       case 'O':       case 'o':       goto yy1186;
+       case 'S':       case 's':       goto yy1185;
        default:        goto yy1034;
        }
 yy1030:
@@ -15954,7 +15954,7 @@
 yy1037:
        YYDEBUG(1037, *YYCURSOR);
 
-#line 1131 "resource/parse_date.re"
+#line 1132 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("datenodayrev");
                TIMELIB_INIT;
@@ -16175,7 +16175,7 @@
 yy1057:
        YYDEBUG(1057, *YYCURSOR);
 
-#line 1234 "resource/parse_date.re"
+#line 1235 "resource/parse_date.re"
 {
                timelib_sll w, d;
                DEBUG_OUTPUT("isoweek");
@@ -16201,7 +16201,7 @@
 yy1059:
        YYDEBUG(1059, *YYCURSOR);
 
-#line 1215 "resource/parse_date.re"
+#line 1216 "resource/parse_date.re"
 {
                timelib_sll w, d;
                DEBUG_OUTPUT("isoweekday");
@@ -16288,7 +16288,7 @@
 yy1063:
        YYDEBUG(1063, *YYCURSOR);
 
-#line 1202 "resource/parse_date.re"
+#line 1203 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("pgydotd");
                TIMELIB_INIT;
@@ -16415,7 +16415,7 @@
 yy1070:
        YYDEBUG(1070, *YYCURSOR);
 
-#line 1168 "resource/parse_date.re"
+#line 1169 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("datenocolon");
                TIMELIB_INIT;
@@ -16524,7 +16524,7 @@
 yy1081:
        YYDEBUG(1081, *YYCURSOR);
 
-#line 1180 "resource/parse_date.re"
+#line 1181 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx");
@@ -17116,15 +17116,16 @@
        yych = *++YYCURSOR;
        if(yych <= '.') goto yy54;
        if(yych <= '/') goto yy1170;
-       if(yych <= '9') goto yy1169;
+       if(yych <= '0') goto yy1169;
+       if(yych <= '9') goto yy1175;
        goto yy54;
 yy1168:
        YYDEBUG(1168, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '.') goto yy54;
        if(yych <= '/') goto yy1170;
-       if(yych >= '3') goto yy54;
-       goto yy1169;
+       if(yych <= '2') goto yy1175;
+       goto yy54;
 yy1169:
        YYDEBUG(1169, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -17134,39 +17135,22 @@
        YYDEBUG(1170, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '0') goto yy1171;
-       if(yych <= '2') goto yy1172;
+       if(yych <= '2') goto yy1171;
        if(yych <= '3') goto yy1173;
+       if(yych <= '9') goto yy1174;
        goto yy54;
 yy1171:
        YYDEBUG(1171, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '0') goto yy54;
+       ++YYCURSOR;
+       if((yych = *YYCURSOR) <= '/')   goto yy1172;
        if(yych <= '9') goto yy1174;
-       goto yy54;
+       goto yy1172;
 yy1172:
        YYDEBUG(1172, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1174;
-       goto yy54;
-yy1173:
-       YYDEBUG(1173, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych >= '2') goto yy54;
-       goto yy1174;
-yy1174:
-       YYDEBUG(1174, *YYCURSOR);
-       ++YYCURSOR;
-       if((yych = *YYCURSOR) == '/')   goto yy1176;
-       goto yy1175;
-yy1175:
-       YYDEBUG(1175, *YYCURSOR);
 
-#line 1067 "resource/parse_date.re"
+#line 1068 "resource/parse_date.re"
 {
-               DEBUG_OUTPUT("iso8601date | iso8601dateslash");
+               DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash");
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
                s->time->y = timelib_get_nr((char **) &ptr, 4);
@@ -17175,201 +17159,225 @@
                TIMELIB_DEINIT;
                return TIMELIB_ISO_DATE;
        }
-#line 14787 "<stdout>"
+#line 14777 "<stdout>"
+yy1173:
+       YYDEBUG(1173, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy1172;
+       if(yych >= '2') goto yy1172;
+       goto yy1174;
+yy1174:
+       YYDEBUG(1174, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy1172;
+yy1175:
+       YYDEBUG(1175, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych != '/') goto yy54;
+       goto yy1176;
 yy1176:
        YYDEBUG(1176, *YYCURSOR);
        yych = *++YYCURSOR;
-       goto yy1175;
+       if(yych <= '2'){
+               if(yych <= '/') goto yy54;
+               if(yych >= '1') goto yy1178;
+               goto yy1177;
+       } else {
+               if(yych <= '3') goto yy1179;
+               if(yych <= '9') goto yy1174;
+               goto yy54;
+       }
 yy1177:
        YYDEBUG(1177, *YYCURSOR);
        yych = *++YYCURSOR;
+       if(yych <= '/') goto yy1172;
+       if(yych <= '0') goto yy1174;
+       if(yych <= '9') goto yy1180;
+       goto yy1172;
+yy1178:
+       YYDEBUG(1178, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy1172;
+       if(yych <= '9') goto yy1180;
+       goto yy1172;
+yy1179:
+       YYDEBUG(1179, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy1172;
+       if(yych >= '2') goto yy1172;
+       goto yy1180;
+yy1180:
+       YYDEBUG(1180, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych == '/') goto yy1174;
+       goto yy1172;
+yy1181:
+       YYDEBUG(1181, *YYCURSOR);
+       yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'A') goto yy1241;
+               if(yych == 'A') goto yy1245;
                if(yych <= 'T') goto yy54;
-               goto yy1240;
+               goto yy1244;
        } else {
                if(yych <= 'a'){
                        if(yych <= '`') goto yy54;
-                       goto yy1241;
+                       goto yy1245;
                } else {
-                       if(yych == 'u') goto yy1240;
+                       if(yych == 'u') goto yy1244;
                        goto yy54;
                }
        }
-yy1178:
-       YYDEBUG(1178, *YYCURSOR);
+yy1182:
+       YYDEBUG(1182, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy1238;
-       if(yych == 'e') goto yy1238;
+       if(yych == 'E') goto yy1242;
+       if(yych == 'e') goto yy1242;
        goto yy54;
-yy1179:
-       YYDEBUG(1179, *YYCURSOR);
+yy1183:
+       YYDEBUG(1183, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'A') goto yy1235;
-       if(yych == 'a') goto yy1235;
+       if(yych == 'A') goto yy1239;
+       if(yych == 'a') goto yy1239;
        goto yy54;
-yy1180:
-       YYDEBUG(1180, *YYCURSOR);
+yy1184:
+       YYDEBUG(1184, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'U'){
-               if(yych == 'P') goto yy1232;
+               if(yych == 'P') goto yy1236;
                if(yych <= 'T') goto yy54;
-               goto yy1231;
+               goto yy1235;
        } else {
                if(yych <= 'p'){
                        if(yych <= 'o') goto yy54;
-                       goto yy1232;
+                       goto yy1236;
                } else {
-                       if(yych == 'u') goto yy1231;
+                       if(yych == 'u') goto yy1235;
                        goto yy54;
                }
        }
-yy1181:
-       YYDEBUG(1181, *YYCURSOR);
+yy1185:
+       YYDEBUG(1185, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy1228;
-       if(yych == 'e') goto yy1228;
+       if(yych == 'E') goto yy1232;
+       if(yych == 'e') goto yy1232;
        goto yy54;
-yy1182:
-       YYDEBUG(1182, *YYCURSOR);
+yy1186:
+       YYDEBUG(1186, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy1226;
-       if(yych == 'c') goto yy1226;
+       if(yych == 'C') goto yy1230;
+       if(yych == 'c') goto yy1230;
        goto yy54;
-yy1183:
-       YYDEBUG(1183, *YYCURSOR);
+yy1187:
+       YYDEBUG(1187, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'O') goto yy1224;
-       if(yych == 'o') goto yy1224;
+       if(yych == 'O') goto yy1228;
+       if(yych == 'o') goto yy1228;
        goto yy54;
-yy1184:
-       YYDEBUG(1184, *YYCURSOR);
+yy1188:
+       YYDEBUG(1188, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'E') goto yy1222;
-       if(yych == 'e') goto yy1222;
+       if(yych == 'E') goto yy1226;
+       if(yych == 'e') goto yy1226;
        goto yy54;
-yy1185:
-       YYDEBUG(1185, *YYCURSOR);
+yy1189:
+       YYDEBUG(1189, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/'){
                if(yych == '-') goto yy937;
                goto yy54;
        } else {
                if(yych <= '0') goto yy900;
-               if(yych <= '9') goto yy1187;
+               if(yych <= '9') goto yy1191;
                goto yy54;
        }
-yy1186:
-       YYDEBUG(1186, *YYCURSOR);
+yy1190:
+       YYDEBUG(1190, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych == '-') goto yy937;
        if(yych <= '/') goto yy54;
        if(yych >= '3') goto yy54;
-       goto yy1187;
-yy1187:
-       YYDEBUG(1187, *YYCURSOR);
+       goto yy1191;
+yy1191:
+       YYDEBUG(1191, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '-') goto yy54;
-       goto yy1188;
-yy1188:
-       YYDEBUG(1188, *YYCURSOR);
+       goto yy1192;
+yy1192:
+       YYDEBUG(1192, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '2'){
                if(yych <= '/') goto yy54;
-               if(yych >= '1') goto yy1190;
-               goto yy1189;
+               if(yych >= '1') goto yy1194;
+               goto yy1193;
        } else {
-               if(yych <= '3') goto yy1191;
+               if(yych <= '3') goto yy1195;
                if(yych <= '9') goto yy941;
                goto yy54;
        }
-yy1189:
-       YYDEBUG(1189, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy939;
-       if(yych <= '0') goto yy941;
-       if(yych <= '9') goto yy1192;
-       goto yy939;
-yy1190:
-       YYDEBUG(1190, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy939;
-       if(yych <= '9') goto yy1192;
-       goto yy939;
-yy1191:
-       YYDEBUG(1191, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych <= '/') goto yy939;
-       if(yych >= '2') goto yy939;
-       goto yy1192;
-yy1192:
-       YYDEBUG(1192, *YYCURSOR);
-       yyaccept = 18;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if(yych != 'T') goto yy1175;
-       goto yy1193;
 yy1193:
        YYDEBUG(1193, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy1194;
-       if(yych <= '2') goto yy1195;
+       if(yych <= '/') goto yy939;
+       if(yych <= '0') goto yy941;
        if(yych <= '9') goto yy1196;
-       goto yy54;
+       goto yy939;
 yy1194:
        YYDEBUG(1194, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1203;
-       if(yych <= ':') goto yy1197;
-       goto yy54;
+       if(yych <= '/') goto yy939;
+       if(yych <= '9') goto yy1196;
+       goto yy939;
 yy1195:
        YYDEBUG(1195, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych <= '3') goto yy1203;
-       if(yych == ':') goto yy1197;
-       goto yy54;
+       if(yych <= '/') goto yy939;
+       if(yych >= '2') goto yy939;
+       goto yy1196;
 yy1196:
        YYDEBUG(1196, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if(yych != ':') goto yy54;
+       yyaccept = 18;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych != 'T') goto yy1172;
        goto yy1197;
 yy1197:
        YYDEBUG(1197, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych >= '6') goto yy54;
-       goto yy1198;
+       if(yych <= '1') goto yy1198;
+       if(yych <= '2') goto yy1199;
+       if(yych <= '9') goto yy1200;
+       goto yy54;
 yy1198:
        YYDEBUG(1198, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych >= ':') goto yy54;
-       goto yy1199;
+       if(yych <= '9') goto yy1207;
+       if(yych <= ':') goto yy1201;
+       goto yy54;
 yy1199:
        YYDEBUG(1199, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych != ':') goto yy54;
-       goto yy1200;
+       if(yych <= '/') goto yy54;
+       if(yych <= '3') goto yy1207;
+       if(yych == ':') goto yy1201;
+       goto yy54;
 yy1200:
        YYDEBUG(1200, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1201;
-       if(yych <= '6') goto yy1202;
-       goto yy54;
+       if(yych != ':') goto yy54;
+       goto yy1201;
 yy1201:
        YYDEBUG(1201, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1080;
-       goto yy54;
+       if(yych >= '6') goto yy54;
+       goto yy1202;
 yy1202:
        YYDEBUG(1202, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '0') goto yy1080;
-       goto yy54;
+       if(yych <= '/') goto yy54;
+       if(yych >= ':') goto yy54;
+       goto yy1203;
 yy1203:
        YYDEBUG(1203, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -17379,137 +17387,160 @@
        YYDEBUG(1204, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych >= '6') goto yy54;
-       goto yy1205;
+       if(yych <= '5') goto yy1205;
+       if(yych <= '6') goto yy1206;
+       goto yy54;
 yy1205:
        YYDEBUG(1205, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych >= ':') goto yy54;
-       goto yy1206;
+       if(yych <= '9') goto yy1080;
+       goto yy54;
 yy1206:
        YYDEBUG(1206, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych != ':') goto yy54;
-       goto yy1207;
+       if(yych == '0') goto yy1080;
+       goto yy54;
 yy1207:
        YYDEBUG(1207, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1208;
-       if(yych <= '6') goto yy1209;
-       goto yy54;
+       if(yych != ':') goto yy54;
+       goto yy1208;
 yy1208:
        YYDEBUG(1208, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1210;
-       goto yy54;
+       if(yych >= '6') goto yy54;
+       goto yy1209;
 yy1209:
        YYDEBUG(1209, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych != '0') goto yy54;
+       if(yych <= '/') goto yy54;
+       if(yych >= ':') goto yy54;
        goto yy1210;
 yy1210:
        YYDEBUG(1210, *YYCURSOR);
-       yyaccept = 19;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if(yych != '.') goto yy1081;
+       yych = *++YYCURSOR;
+       if(yych != ':') goto yy54;
        goto yy1211;
 yy1211:
        YYDEBUG(1211, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych >= ':') goto yy54;
-       goto yy1212;
+       if(yych <= '5') goto yy1212;
+       if(yych <= '6') goto yy1213;
+       goto yy54;
 yy1212:
        YYDEBUG(1212, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy54;
+       if(yych <= '9') goto yy1214;
+       goto yy54;
+yy1213:
+       YYDEBUG(1213, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych != '0') goto yy54;
+       goto yy1214;
+yy1214:
+       YYDEBUG(1214, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if(yych != '.') goto yy1081;
+       goto yy1215;
+yy1215:
+       YYDEBUG(1215, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if(yych <= '/') goto yy54;
+       if(yych >= ':') goto yy54;
+       goto yy1216;
+yy1216:
+       YYDEBUG(1216, *YYCURSOR);
        ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
        yych = *YYCURSOR;
-       goto yy1213;
-yy1213:
-       YYDEBUG(1213, *YYCURSOR);
+       goto yy1217;
+yy1217:
+       YYDEBUG(1217, *YYCURSOR);
        if(yych <= ','){
                if(yych != '+') goto yy54;
-               goto yy1214;
+               goto yy1218;
        } else {
-               if(yych <= '-') goto yy1214;
+               if(yych <= '-') goto yy1218;
                if(yych <= '/') goto yy54;
-               if(yych <= '9') goto yy1212;
+               if(yych <= '9') goto yy1216;
                goto yy54;
        }
-yy1214:
-       YYDEBUG(1214, *YYCURSOR);
+yy1218:
+       YYDEBUG(1218, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '1') goto yy1215;
-       if(yych <= '2') goto yy1216;
-       if(yych <= '9') goto yy1217;
+       if(yych <= '1') goto yy1219;
+       if(yych <= '2') goto yy1220;
+       if(yych <= '9') goto yy1221;
        goto yy54;
-yy1215:
-       YYDEBUG(1215, *YYCURSOR);
+yy1219:
+       YYDEBUG(1219, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy1081;
-       if(yych <= '5') goto yy1220;
-       if(yych <= '9') goto yy1217;
-       if(yych <= ':') goto yy1218;
+       if(yych <= '5') goto yy1224;
+       if(yych <= '9') goto yy1221;
+       if(yych <= ':') goto yy1222;
        goto yy1081;
-yy1216:
-       YYDEBUG(1216, *YYCURSOR);
+yy1220:
+       YYDEBUG(1220, *YYCURSOR);
        yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '5'){
                if(yych <= '/') goto yy1081;
-               if(yych <= '3') goto yy1220;
-               goto yy1219;
+               if(yych <= '3') goto yy1224;
+               goto yy1223;
        } else {
-               if(yych == ':') goto yy1218;
+               if(yych == ':') goto yy1222;
                goto yy1081;
        }
-yy1217:
-       YYDEBUG(1217, *YYCURSOR);
+yy1221:
+       YYDEBUG(1221, *YYCURSOR);
        yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/') goto yy1081;
-       if(yych <= '5') goto yy1219;
+       if(yych <= '5') goto yy1223;
        if(yych != ':') goto yy1081;
-       goto yy1218;
-yy1218:
-       YYDEBUG(1218, *YYCURSOR);
+       goto yy1222;
+yy1222:
+       YYDEBUG(1222, *YYCURSOR);
        yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/') goto yy1081;
        if(yych >= '6') goto yy1081;
-       goto yy1219;
-yy1219:
-       YYDEBUG(1219, *YYCURSOR);
+       goto yy1223;
+yy1223:
+       YYDEBUG(1223, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych <= '9') goto yy1080;
        goto yy54;
-yy1220:
-       YYDEBUG(1220, *YYCURSOR);
+yy1224:
+       YYDEBUG(1224, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy1081;
-       if(yych <= '5') goto yy1221;
+       if(yych <= '5') goto yy1225;
        if(yych <= '9') goto yy1080;
-       if(yych <= ':') goto yy1218;
+       if(yych <= ':') goto yy1222;
        goto yy1081;
-yy1221:
-       YYDEBUG(1221, *YYCURSOR);
+yy1225:
+       YYDEBUG(1225, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy1081;
        if(yych <= '9') goto yy1080;
        goto yy1081;
-yy1222:
-       YYDEBUG(1222, *YYCURSOR);
+yy1226:
+       YYDEBUG(1226, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'C') goto yy1223;
+       if(yych == 'C') goto yy1227;
        if(yych != 'c') goto yy54;
-       goto yy1223;
-yy1223:
-       YYDEBUG(1223, *YYCURSOR);
+       goto yy1227;
+yy1227:
+       YYDEBUG(1227, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
@@ -17520,14 +17551,14 @@
                if(yych == 'e') goto yy1102;
                goto yy1037;
        }
-yy1224:
-       YYDEBUG(1224, *YYCURSOR);
+yy1228:
+       YYDEBUG(1228, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'V') goto yy1225;
+       if(yych == 'V') goto yy1229;
        if(yych != 'v') goto yy54;
-       goto yy1225;
-yy1225:
-       YYDEBUG(1225, *YYCURSOR);
+       goto yy1229;
+yy1229:
+       YYDEBUG(1229, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
@@ -17538,14 +17569,14 @@
                if(yych == 'e') goto yy1109;
                goto yy1037;
        }
-yy1226:
-       YYDEBUG(1226, *YYCURSOR);
+yy1230:
+       YYDEBUG(1230, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'T') goto yy1227;
+       if(yych == 'T') goto yy1231;
        if(yych != 't') goto yy54;
-       goto yy1227;
-yy1227:
-       YYDEBUG(1227, *YYCURSOR);
+       goto yy1231;
+yy1231:
+       YYDEBUG(1231, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'N'){
@@ -17556,26 +17587,26 @@
                if(yych == 'o') goto yy1115;
                goto yy1037;
        }
-yy1228:
-       YYDEBUG(1228, *YYCURSOR);
+yy1232:
+       YYDEBUG(1232, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'P') goto yy1229;
+       if(yych == 'P') goto yy1233;
        if(yych != 'p') goto yy54;
-       goto yy1229;
-yy1229:
-       YYDEBUG(1229, *YYCURSOR);
+       goto yy1233;
+yy1233:
+       YYDEBUG(1233, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'S'){
                if(yych == '-') goto yy1011;
                goto yy1037;
        } else {
-               if(yych <= 'T') goto yy1230;
+               if(yych <= 'T') goto yy1234;
                if(yych != 't') goto yy1037;
-               goto yy1230;
+               goto yy1234;
        }
-yy1230:
-       YYDEBUG(1230, *YYCURSOR);
+yy1234:
+       YYDEBUG(1234, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
@@ -17586,20 +17617,20 @@
                if(yych == 'e') goto yy1121;
                goto yy1037;
        }
-yy1231:
-       YYDEBUG(1231, *YYCURSOR);
+yy1235:
+       YYDEBUG(1235, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'G') goto yy1234;
-       if(yych == 'g') goto yy1234;
+       if(yych == 'G') goto yy1238;
+       if(yych == 'g') goto yy1238;
        goto yy54;
-yy1232:
-       YYDEBUG(1232, *YYCURSOR);
+yy1236:
+       YYDEBUG(1236, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'R') goto yy1233;
+       if(yych == 'R') goto yy1237;
        if(yych != 'r') goto yy54;
-       goto yy1233;
-yy1233:
-       YYDEBUG(1233, *YYCURSOR);
+       goto yy1237;
+yy1237:
+       YYDEBUG(1237, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'H'){
@@ -17610,8 +17641,8 @@
                if(yych == 'i') goto yy1128;
                goto yy1037;
        }
-yy1234:
-       YYDEBUG(1234, *YYCURSOR);
+yy1238:
+       YYDEBUG(1238, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'T'){
@@ -17622,24 +17653,24 @@
                if(yych == 'u') goto yy1130;
                goto yy1037;
        }
-yy1235:
-       YYDEBUG(1235, *YYCURSOR);
+yy1239:
+       YYDEBUG(1239, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'Y'){
-               if(yych == 'R') goto yy1236;
+               if(yych == 'R') goto yy1240;
                if(yych <= 'X') goto yy54;
-               goto yy1237;
+               goto yy1241;
        } else {
                if(yych <= 'r'){
                        if(yych <= 'q') goto yy54;
-                       goto yy1236;
+                       goto yy1240;
                } else {
-                       if(yych == 'y') goto yy1237;
+                       if(yych == 'y') goto yy1241;
                        goto yy54;
                }
        }
-yy1236:
-       YYDEBUG(1236, *YYCURSOR);
+yy1240:
+       YYDEBUG(1240, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'B'){
@@ -17650,20 +17681,20 @@
                if(yych == 'c') goto yy1134;
                goto yy1037;
        }
-yy1237:
-       YYDEBUG(1237, *YYCURSOR);
+yy1241:
+       YYDEBUG(1241, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '-') goto yy1011;
        goto yy1037;
-yy1238:
-       YYDEBUG(1238, *YYCURSOR);
+yy1242:
+       YYDEBUG(1242, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'B') goto yy1239;
+       if(yych == 'B') goto yy1243;
        if(yych != 'b') goto yy54;
-       goto yy1239;
-yy1239:
-       YYDEBUG(1239, *YYCURSOR);
+       goto yy1243;
+yy1243:
+       YYDEBUG(1243, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'Q'){
@@ -17674,30 +17705,30 @@
                if(yych == 'r') goto yy1137;
                goto yy1037;
        }
-yy1240:
-       YYDEBUG(1240, *YYCURSOR);
+yy1244:
+       YYDEBUG(1244, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'N'){
-               if(yych == 'L') goto yy1244;
+               if(yych == 'L') goto yy1248;
                if(yych <= 'M') goto yy54;
-               goto yy1243;
+               goto yy1247;
        } else {
                if(yych <= 'l'){
                        if(yych <= 'k') goto yy54;
-                       goto yy1244;
+                       goto yy1248;
                } else {
-                       if(yych == 'n') goto yy1243;
+                       if(yych == 'n') goto yy1247;
                        goto yy54;
                }
        }
-yy1241:
-       YYDEBUG(1241, *YYCURSOR);
+yy1245:
+       YYDEBUG(1245, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == 'N') goto yy1242;
+       if(yych == 'N') goto yy1246;
        if(yych != 'n') goto yy54;
-       goto yy1242;
-yy1242:
-       YYDEBUG(1242, *YYCURSOR);
+       goto yy1246;
+yy1246:
+       YYDEBUG(1246, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'T'){
@@ -17708,8 +17739,8 @@
                if(yych == 'u') goto yy1144;
                goto yy1037;
        }
-yy1243:
-       YYDEBUG(1243, *YYCURSOR);
+yy1247:
+       YYDEBUG(1247, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'D'){
@@ -17720,8 +17751,8 @@
                if(yych == 'e') goto yy1106;
                goto yy1037;
        }
-yy1244:
-       YYDEBUG(1244, *YYCURSOR);
+yy1248:
+       YYDEBUG(1248, *YYCURSOR);
        yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= 'X'){
@@ -17732,8 +17763,8 @@
                if(yych == 'y') goto yy1106;
                goto yy1037;
        }
-yy1245:
-       YYDEBUG(1245, *YYCURSOR);
+yy1249:
+       YYDEBUG(1249, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'P'){
                if(yych == 'C') goto yy134;
@@ -17748,28 +17779,28 @@
                        goto yy54;
                }
        }
-yy1246:
-       YYDEBUG(1246, *YYCURSOR);
+yy1250:
+       YYDEBUG(1250, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '.'){
                if(yych <= ',') goto yy776;
                if(yych <= '-') goto yy783;
-               goto yy1247;
+               goto yy1251;
        } else {
-               if(yych <= '/') goto yy1248;
+               if(yych <= '/') goto yy1252;
                if(yych <= '9') goto yy999;
                goto yy776;
        }
-yy1247:
-       YYDEBUG(1247, *YYCURSOR);
+yy1251:
+       YYDEBUG(1251, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy785;
-       if(yych <= '0') goto yy1249;
-       if(yych <= '1') goto yy1250;
-       if(yych <= '9') goto yy1251;
+       if(yych <= '0') goto yy1253;
+       if(yych <= '1') goto yy1254;
+       if(yych <= '9') goto yy1255;
        goto yy785;
-yy1248:
-       YYDEBUG(1248, *YYCURSOR);
+yy1252:
+       YYDEBUG(1252, *YYCURSOR);
        yych = *++YYCURSOR;
        YYDEBUG(-1, yych);
        switch(yych){
@@ -17783,79 +17814,79 @@
        case 'S':       case 's':       goto yy950;
        default:        goto yy54;
        }
-yy1249:
-       YYDEBUG(1249, *YYCURSOR);
+yy1253:
+       YYDEBUG(1253, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '.') goto yy1252;
+       if(yych == '.') goto yy1256;
        if(yych <= '/') goto yy54;
-       if(yych <= '9') goto yy1251;
+       if(yych <= '9') goto yy1255;
        goto yy54;
-yy1250:
-       YYDEBUG(1250, *YYCURSOR);
+yy1254:
+       YYDEBUG(1254, *YYCURSOR);
        yych = *++YYCURSOR;
-       if(yych == '.') goto yy1252;
+       if(yych == '.') goto yy1256;
        if(yych <= '/') goto yy54;
        if(yych >= '3') goto yy54;
-       goto yy1251;
-yy1251:
-       YYDEBUG(1251, *YYCURSOR);
+       goto yy1255;
+yy1255:
+       YYDEBUG(1255, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != '.') goto yy54;
-       goto yy1252;
-yy1252:
-       YYDEBUG(1252, *YYCURSOR);
+       goto yy1256;
+yy1256:
+       YYDEBUG(1256, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1253;
-yy1253:
-       YYDEBUG(1253, *YYCURSOR);
+       goto yy1257;
+yy1257:
+       YYDEBUG(1257, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy893;
        if(yych <= '9') goto yy892;
        goto yy893;
-yy1254:
-       YYDEBUG(1254, *YYCURSOR);
+yy1258:
+       YYDEBUG(1258, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/'){
                if(yych <= ',') goto yy776;
                if(yych <= '-') goto yy783;
-               if(yych >= '/') goto yy1248;
-               goto yy1255;
+               if(yych >= '/') goto yy1252;
+               goto yy1259;
        } else {
-               if(yych <= '5') goto yy1257;
+               if(yych <= '5') goto yy1261;
                if(yych <= '9') goto yy999;
-               if(yych <= ':') goto yy1256;
+               if(yych <= ':') goto yy1260;
                goto yy776;
        }
-yy1255:
-       YYDEBUG(1255, *YYCURSOR);
+yy1259:
+       YYDEBUG(1259, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '1'){
                if(yych <= '/') goto yy785;
-               if(yych <= '0') goto yy1279;
-               goto yy1280;
+               if(yych <= '0') goto yy1283;
+               goto yy1284;
        } else {
-               if(yych <= '5') goto yy1281;
-               if(yych <= '9') goto yy1282;
+               if(yych <= '5') goto yy1285;
+               if(yych <= '9') goto yy1286;
                goto yy785;
        }
-yy1256:
-       YYDEBUG(1256, *YYCURSOR);
+yy1260:
+       YYDEBUG(1260, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1274;
-       if(yych <= '9') goto yy1275;
+       if(yych <= '5') goto yy1278;
+       if(yych <= '9') goto yy1279;
        goto yy54;
-yy1257:
-       YYDEBUG(1257, *YYCURSOR);
+yy1261:
+       YYDEBUG(1261, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych == '-') goto yy1000;
        if(yych <= '/') goto yy67;
        if(yych >= ':') goto yy67;
-       goto yy1258;
-yy1258:
-       YYDEBUG(1258, *YYCURSOR);
+       goto yy1262;
+yy1262:
+       YYDEBUG(1262, *YYCURSOR);
        yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -17885,23 +17916,23 @@
        case '-':       goto yy1029;
        case '.':       goto yy1035;
        case '/':       goto yy1030;
-       case '0':       goto yy1260;
-       case '1':       goto yy1261;
-       case '2':       goto yy1262;
-       case '3':       goto yy1263;
+       case '0':       goto yy1264;
+       case '1':       goto yy1265;
+       case '2':       goto yy1266;
+       case '3':       goto yy1267;
        case '4':
-       case '5':       goto yy1264;
-       case '6':       goto yy1265;
+       case '5':       goto yy1268;
+       case '6':       goto yy1269;
        case '7':
        case '8':
        case '9':       goto yy76;
        case 'W':       goto yy1052;
-       default:        goto yy1259;
+       default:        goto yy1263;
        }
-yy1259:
-       YYDEBUG(1259, *YYCURSOR);
+yy1263:
+       YYDEBUG(1263, *YYCURSOR);
 
-#line 989 "resource/parse_date.re"
+#line 990 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("gnunocolon");
                TIMELIB_INIT;
@@ -17922,50 +17953,50 @@
                TIMELIB_DEINIT;
                return TIMELIB_GNU_NOCOLON;
        }
-#line 15364 "<stdout>"
-yy1260:
-       YYDEBUG(1260, *YYCURSOR);
+#line 15387 "<stdout>"
+yy1264:
+       YYDEBUG(1264, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy67;
-       if(yych <= '0') goto yy1272;
-       if(yych <= '9') goto yy1273;
+       if(yych <= '0') goto yy1276;
+       if(yych <= '9') goto yy1277;
        goto yy67;
-yy1261:
-       YYDEBUG(1261, *YYCURSOR);
+yy1265:
+       YYDEBUG(1265, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy67;
-       if(yych <= '2') goto yy1271;
-       if(yych <= '9') goto yy1270;
+       if(yych <= '2') goto yy1275;
+       if(yych <= '9') goto yy1274;
        goto yy67;
-yy1262:
-       YYDEBUG(1262, *YYCURSOR);
+yy1266:
+       YYDEBUG(1266, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy67;
-       if(yych <= '9') goto yy1270;
+       if(yych <= '9') goto yy1274;
        goto yy67;
-yy1263:
-       YYDEBUG(1263, *YYCURSOR);
+yy1267:
+       YYDEBUG(1267, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy67;
-       if(yych <= '5') goto yy1268;
-       if(yych <= '6') goto yy1269;
-       if(yych <= '9') goto yy1266;
+       if(yych <= '5') goto yy1272;
+       if(yych <= '6') goto yy1273;
+       if(yych <= '9') goto yy1270;
        goto yy67;
-yy1264:
-       YYDEBUG(1264, *YYCURSOR);
+yy1268:
+       YYDEBUG(1268, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy67;
-       if(yych <= '9') goto yy1266;
+       if(yych <= '9') goto yy1270;
        goto yy67;
-yy1265:
-       YYDEBUG(1265, *YYCURSOR);
+yy1269:
+       YYDEBUG(1269, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy67;
-       if(yych <= '0') goto yy1266;
+       if(yych <= '0') goto yy1270;
        if(yych <= '9') goto yy76;
        goto yy67;
-yy1266:
-       YYDEBUG(1266, *YYCURSOR);
+yy1270:
+       YYDEBUG(1270, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yybm[0+yych] & 32) {
@@ -17975,21 +18006,21 @@
                if(yych <= 'G'){
                        if(yych <= 'C'){
                                if(yych == ' ') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        } else {
-                               if(yych == 'E') goto yy1267;
+                               if(yych == 'E') goto yy1271;
                                if(yych <= 'F') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        }
                } else {
                        if(yych <= 'R'){
                                if(yych <= 'H') goto yy67;
                                if(yych == 'M') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        } else {
                                if(yych <= 'T') goto yy67;
                                if(yych == 'W') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        }
                }
        } else {
@@ -17997,29 +18028,29 @@
                        if(yych <= 'e'){
                                if(yych <= 'Y') goto yy67;
                                if(yych == 'd') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        } else {
-                               if(yych == 'g') goto yy1267;
+                               if(yych == 'g') goto yy1271;
                                if(yych <= 'h') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        }
                } else {
                        if(yych <= 'v'){
                                if(yych <= 'm') goto yy67;
-                               if(yych <= 'r') goto yy1267;
+                               if(yych <= 'r') goto yy1271;
                                if(yych <= 't') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        } else {
-                               if(yych == 'x') goto yy1267;
+                               if(yych == 'x') goto yy1271;
                                if(yych <= 'y') goto yy67;
-                               goto yy1267;
+                               goto yy1271;
                        }
                }
        }
-yy1267:
-       YYDEBUG(1267, *YYCURSOR);
+yy1271:
+       YYDEBUG(1271, *YYCURSOR);
 
-#line 1034 "resource/parse_date.re"
+#line 1035 "resource/parse_date.re"
 {
                int tz_not_found;
                DEBUG_OUTPUT("iso8601nocolon");
@@ -18036,9 +18067,9 @@
                TIMELIB_DEINIT;
                return TIMELIB_ISO_NOCOLON;
        }
-#line 15462 "<stdout>"
-yy1268:
-       YYDEBUG(1268, *YYCURSOR);
+#line 15485 "<stdout>"
+yy1272:
+       YYDEBUG(1272, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -18056,10 +18087,10 @@
        case '7':
        case '8':
        case '9':       goto yy1062;
-       default:        goto yy1267;
+       default:        goto yy1271;
        }
-yy1269:
-       YYDEBUG(1269, *YYCURSOR);
+yy1273:
+       YYDEBUG(1273, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -18077,10 +18108,10 @@
        case '7':
        case '8':
        case '9':       goto yy76;
-       default:        goto yy1267;
+       default:        goto yy1271;
        }
-yy1270:
-       YYDEBUG(1270, *YYCURSOR);
+yy1274:
+       YYDEBUG(1274, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -18098,10 +18129,10 @@
        case '7':
        case '8':
        case '9':       goto yy1062;
-       default:        goto yy1267;
+       default:        goto yy1271;
        }
-yy1271:
-       YYDEBUG(1271, *YYCURSOR);
+yy1275:
+       YYDEBUG(1275, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -18119,10 +18150,10 @@
        case '7':
        case '8':
        case '9':       goto yy1062;
-       default:        goto yy1267;
+       default:        goto yy1271;
        }
-yy1272:
-       YYDEBUG(1272, *YYCURSOR);
+yy1276:
+       YYDEBUG(1276, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -18140,10 +18171,10 @@
        case '7':
        case '8':
        case '9':       goto yy1062;
-       default:        goto yy1267;
+       default:        goto yy1271;
        }
-yy1273:
-       YYDEBUG(1273, *YYCURSOR);
+yy1277:
+       YYDEBUG(1277, *YYCURSOR);
        yyaccept = 21;
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
@@ -18161,132 +18192,132 @@
        case '7':
        case '8':
        case '9':       goto yy1062;
-       default:        goto yy1267;
+       default:        goto yy1271;
        }
-yy1274:
-       YYDEBUG(1274, *YYCURSOR);
+yy1278:
+       YYDEBUG(1278, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/'){
-               if(yych == '.') goto yy1276;
+               if(yych == '.') goto yy1280;
                goto yy797;
        } else {
-               if(yych <= '9') goto yy1275;
-               if(yych <= ':') goto yy1276;
+               if(yych <= '9') goto yy1279;
+               if(yych <= ':') goto yy1280;
                goto yy797;
        }
-yy1275:
-       YYDEBUG(1275, *YYCURSOR);
+yy1279:
+       YYDEBUG(1279, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == '.') goto yy1276;
+       if(yych == '.') goto yy1280;
        if(yych != ':') goto yy797;
-       goto yy1276;
-yy1276:
-       YYDEBUG(1276, *YYCURSOR);
+       goto yy1280;
+yy1280:
+       YYDEBUG(1280, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1277;
-       if(yych <= '6') goto yy1278;
+       if(yych <= '5') goto yy1281;
+       if(yych <= '6') goto yy1282;
        if(yych <= '9') goto yy802;
        goto yy54;
-yy1277:
-       YYDEBUG(1277, *YYCURSOR);
+yy1281:
+       YYDEBUG(1281, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '.') goto yy803;
        if(yych <= '/') goto yy797;
        if(yych <= '9') goto yy802;
        goto yy797;
-yy1278:
-       YYDEBUG(1278, *YYCURSOR);
+yy1282:
+       YYDEBUG(1282, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '.') goto yy803;
        if(yych == '0') goto yy802;
        goto yy797;
-yy1279:
-       YYDEBUG(1279, *YYCURSOR);
+yy1283:
+       YYDEBUG(1283, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/'){
-               if(yych == '.') goto yy1283;
+               if(yych == '.') goto yy1287;
                goto yy797;
        } else {
-               if(yych <= '9') goto yy1282;
-               if(yych <= ':') goto yy1276;
+               if(yych <= '9') goto yy1286;
+               if(yych <= ':') goto yy1280;
                goto yy797;
        }
-yy1280:
-       YYDEBUG(1280, *YYCURSOR);
+yy1284:
+       YYDEBUG(1284, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/'){
-               if(yych == '.') goto yy1283;
+               if(yych == '.') goto yy1287;
                goto yy797;
        } else {
-               if(yych <= '2') goto yy1282;
-               if(yych <= '9') goto yy1275;
-               if(yych <= ':') goto yy1276;
+               if(yych <= '2') goto yy1286;
+               if(yych <= '9') goto yy1279;
+               if(yych <= ':') goto yy1280;
                goto yy797;
        }
-yy1281:
-       YYDEBUG(1281, *YYCURSOR);
+yy1285:
+       YYDEBUG(1285, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/'){
-               if(yych == '.') goto yy1283;
+               if(yych == '.') goto yy1287;
                goto yy797;
        } else {
-               if(yych <= '9') goto yy1275;
-               if(yych <= ':') goto yy1276;
+               if(yych <= '9') goto yy1279;
+               if(yych <= ':') goto yy1280;
                goto yy797;
        }
-yy1282:
-       YYDEBUG(1282, *YYCURSOR);
+yy1286:
+       YYDEBUG(1286, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
-       if(yych == '.') goto yy1283;
-       if(yych == ':') goto yy1276;
+       if(yych == '.') goto yy1287;
+       if(yych == ':') goto yy1280;
        goto yy797;
-yy1283:
-       YYDEBUG(1283, *YYCURSOR);
+yy1287:
+       YYDEBUG(1287, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/') goto yy54;
-       if(yych <= '5') goto yy1284;
-       if(yych <= '6') goto yy1285;
+       if(yych <= '5') goto yy1288;
+       if(yych <= '6') goto yy1289;
        if(yych <= '9') goto yy891;
        goto yy54;
-yy1284:
-       YYDEBUG(1284, *YYCURSOR);
+yy1288:
+       YYDEBUG(1288, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '.') goto yy803;
        if(yych <= '/') goto yy797;
-       if(yych <= '9') goto yy1286;
+       if(yych <= '9') goto yy1290;
        goto yy797;
-yy1285:
-       YYDEBUG(1285, *YYCURSOR);
+yy1289:
+       YYDEBUG(1289, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych <= '/'){
                if(yych == '.') goto yy803;
                goto yy797;
        } else {
-               if(yych <= '0') goto yy1286;
+               if(yych <= '0') goto yy1290;
                if(yych <= '9') goto yy892;
                goto yy797;
        }
-yy1286:
-       YYDEBUG(1286, *YYCURSOR);
+yy1290:
+       YYDEBUG(1290, *YYCURSOR);
        yyaccept = 11;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == '.') goto yy803;
        if(yych <= '/') goto yy797;
        if(yych <= '9') goto yy894;
        goto yy797;
-yy1287:
-       YYDEBUG(1287, *YYCURSOR);
+yy1291:
+       YYDEBUG(1291, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/'){
                if(yych <= ',') goto yy776;
@@ -18294,46 +18325,46 @@
                if(yych <= '.') goto yy786;
                goto yy782;
        } else {
-               if(yych <= '5') goto yy1257;
+               if(yych <= '5') goto yy1261;
                if(yych <= '9') goto yy999;
                if(yych <= ':') goto yy795;
                goto yy776;
        }
-yy1288:
-       YYDEBUG(1288, *YYCURSOR);
+yy1292:
+       YYDEBUG(1292, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '/'){
                if(yych <= ',') goto yy776;
                if(yych <= '-') goto yy783;
-               if(yych <= '.') goto yy1255;
+               if(yych <= '.') goto yy1259;
                goto yy782;
        } else {
-               if(yych <= '5') goto yy1257;
+               if(yych <= '5') goto yy1261;
                if(yych <= '9') goto yy999;
-               if(yych <= ':') goto yy1256;
+               if(yych <= ':') goto yy1260;
                goto yy776;
        }
-yy1289:
-       YYDEBUG(1289, *YYCURSOR);
+yy1293:
+       YYDEBUG(1293, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '0') goto yy54;
        if(yych >= ':') goto yy54;
-       goto yy1290;
-yy1290:
-       YYDEBUG(1290, *YYCURSOR);
+       goto yy1294;
+yy1294:
+       YYDEBUG(1294, *YYCURSOR);
        ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-       goto yy1291;
-yy1291:
-       YYDEBUG(1291, *YYCURSOR);
-       if(yych <= '/') goto yy1292;
-       if(yych <= '9') goto yy1290;
-       goto yy1292;
-yy1292:
-       YYDEBUG(1292, *YYCURSOR);
+       goto yy1295;
+yy1295:
+       YYDEBUG(1295, *YYCURSOR);
+       if(yych <= '/') goto yy1296;
+       if(yych <= '9') goto yy1294;
+       goto yy1296;
+yy1296:
+       YYDEBUG(1296, *YYCURSOR);
 
-#line 926 "resource/parse_date.re"
+#line 927 "resource/parse_date.re"
 {
                timelib_ull i;
 
@@ -18356,9 +18387,9 @@
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 15726 "<stdout>"
-yy1293:
-       YYDEBUG(1293, *YYCURSOR);
+#line 15749 "<stdout>"
+yy1297:
+       YYDEBUG(1297, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= 'c'){
                if(yych <= '@') goto yy3;
@@ -18368,66 +18399,66 @@
        } else {
                if(yych <= 'l'){
                        if(yych >= 'e') goto yy49;
-                       goto yy1294;
+                       goto yy1298;
                } else {
-                       if(yych <= 'm') goto yy1295;
+                       if(yych <= 'm') goto yy1299;
                        if(yych <= 'z') goto yy49;
                        goto yy3;
                }
        }
-yy1294:
-       YYDEBUG(1294, *YYCURSOR);
+yy1298:
+       YYDEBUG(1298, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy50;
                goto yy3;
        } else {
-               if(yych <= 'a') goto yy1302;
+               if(yych <= 'a') goto yy1306;
                if(yych <= 'z') goto yy50;
                goto yy3;
        }
-yy1295:
-       YYDEBUG(1295, *YYCURSOR);
+yy1299:
+       YYDEBUG(1299, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy50;
                goto yy3;
        } else {
-               if(yych == 'o') goto yy1296;
+               if(yych == 'o') goto yy1300;
                if(yych <= 'z') goto yy50;
                goto yy3;
        }
-yy1296:
-       YYDEBUG(1296, *YYCURSOR);
+yy1300:
+       YYDEBUG(1300, *YYCURSOR);
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != 'r') goto yy3;
-       goto yy1297;
-yy1297:
-       YYDEBUG(1297, *YYCURSOR);
+       goto yy1301;
+yy1301:
+       YYDEBUG(1301, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'r') goto yy54;
-       goto yy1298;
-yy1298:
-       YYDEBUG(1298, *YYCURSOR);
+       goto yy1302;
+yy1302:
+       YYDEBUG(1302, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'o') goto yy54;
-       goto yy1299;
-yy1299:
-       YYDEBUG(1299, *YYCURSOR);
+       goto yy1303;
+yy1303:
+       YYDEBUG(1303, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'w') goto yy54;
-       goto yy1300;
-yy1300:
-       YYDEBUG(1300, *YYCURSOR);
+       goto yy1304;
+yy1304:
+       YYDEBUG(1304, *YYCURSOR);
        ++YYCURSOR;
-       goto yy1301;
-yy1301:
-       YYDEBUG(1301, *YYCURSOR);
+       goto yy1305;
+yy1305:
+       YYDEBUG(1305, *YYCURSOR);
 
-#line 914 "resource/parse_date.re"
+#line 915 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("tomorrow");
                TIMELIB_INIT;
@@ -18438,20 +18469,20 @@
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 15790 "<stdout>"
-yy1302:
-       YYDEBUG(1302, *YYCURSOR);
+#line 15813 "<stdout>"
+yy1306:
+       YYDEBUG(1306, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'y') goto yy3;
-       goto yy1303;
-yy1303:
-       YYDEBUG(1303, *YYCURSOR);
+       goto yy1307;
+yy1307:
+       YYDEBUG(1307, *YYCURSOR);
        ++YYCURSOR;
-       goto yy1304;
-yy1304:
-       YYDEBUG(1304, *YYCURSOR);
+       goto yy1308;
+yy1308:
+       YYDEBUG(1308, *YYCURSOR);
 
-#line 904 "resource/parse_date.re"
+#line 905 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("today");
                TIMELIB_INIT;
@@ -18460,9 +18491,9 @@
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 15806 "<stdout>"
-yy1305:
-       YYDEBUG(1305, *YYCURSOR);
+#line 15829 "<stdout>"
+yy1309:
+       YYDEBUG(1309, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= 'U'){
@@ -18478,23 +18509,23 @@
                        if(yych <= 'u') goto yy49;
                        goto yy612;
                } else {
-                       if(yych <= 'w') goto yy1306;
+                       if(yych <= 'w') goto yy1310;
                        if(yych <= 'z') goto yy49;
                        goto yy3;
                }
        }
-yy1306:
-       YYDEBUG(1306, *YYCURSOR);
+yy1310:
+       YYDEBUG(1310, *YYCURSOR);
        ++YYCURSOR;
-       if((yych = *YYCURSOR) <= '@')   goto yy1307;
+       if((yych = *YYCURSOR) <= '@')   goto yy1311;
        if(yych <= 'Z') goto yy50;
-       if(yych <= '`') goto yy1307;
+       if(yych <= '`') goto yy1311;
        if(yych <= 'z') goto yy50;
-       goto yy1307;
-yy1307:
-       YYDEBUG(1307, *YYCURSOR);
+       goto yy1311;
+yy1311:
+       YYDEBUG(1311, *YYCURSOR);
 
-#line 895 "resource/parse_date.re"
+#line 896 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("now");
                TIMELIB_INIT;
@@ -18502,65 +18533,65 @@
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 15842 "<stdout>"
-yy1308:
-       YYDEBUG(1308, *YYCURSOR);
+#line 15865 "<stdout>"
+yy1312:
+       YYDEBUG(1312, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy49;
                goto yy3;
        } else {
-               if(yych == 's') goto yy1309;
+               if(yych == 's') goto yy1313;
                if(yych <= 'z') goto yy49;
                goto yy3;
        }
-yy1309:
-       YYDEBUG(1309, *YYCURSOR);
+yy1313:
+       YYDEBUG(1313, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych <= '`'){
                if(yych <= '@') goto yy3;
                if(yych <= 'Z') goto yy50;
                goto yy3;
        } else {
-               if(yych == 't') goto yy1310;
+               if(yych == 't') goto yy1314;
                if(yych <= 'z') goto yy50;
                goto yy3;
        }
-yy1310:
-       YYDEBUG(1310, *YYCURSOR);
+yy1314:
+       YYDEBUG(1314, *YYCURSOR);
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych != 'e') goto yy3;
-       goto yy1311;
-yy1311:
-       YYDEBUG(1311, *YYCURSOR);
+       goto yy1315;
+yy1315:
+       YYDEBUG(1315, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'r') goto yy54;
-       goto yy1312;
-yy1312:
-       YYDEBUG(1312, *YYCURSOR);
+       goto yy1316;
+yy1316:
+       YYDEBUG(1316, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'd') goto yy54;
-       goto yy1313;
-yy1313:
-       YYDEBUG(1313, *YYCURSOR);
+       goto yy1317;
+yy1317:
+       YYDEBUG(1317, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'a') goto yy54;
-       goto yy1314;
-yy1314:
-       YYDEBUG(1314, *YYCURSOR);
+       goto yy1318;
+yy1318:
+       YYDEBUG(1318, *YYCURSOR);
        yych = *++YYCURSOR;
        if(yych != 'y') goto yy54;
-       goto yy1315;
-yy1315:
-       YYDEBUG(1315, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy1316;
-yy1316:
-       YYDEBUG(1316, *YYCURSOR);
+       goto yy1319;
+yy1319:
+       YYDEBUG(1319, *YYCURSOR);
+       ++YYCURSOR;
+       goto yy1320;
+yy1320:
+       YYDEBUG(1320, *YYCURSOR);
 
-#line 883 "resource/parse_date.re"
+#line 884 "resource/parse_date.re"
 {
                DEBUG_OUTPUT("yesterday");
                TIMELIB_INIT;
@@ -18571,10 +18602,10 @@
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
-#line 15893 "<stdout>"
+#line 15916 "<stdout>"
 }
 }
-#line 1431 "resource/parse_date.re"
+#line 1432 "resource/parse_date.re"
 
 }
 
http://cvs.php.net/diff.php/php-src/ext/date/lib/resource/parse_date.re?r1=1.28&r2=1.29&ty=u
Index: php-src/ext/date/lib/resource/parse_date.re
diff -u php-src/ext/date/lib/resource/parse_date.re:1.28 
php-src/ext/date/lib/resource/parse_date.re:1.29
--- php-src/ext/date/lib/resource/parse_date.re:1.28    Wed Aug 24 09:47:28 2005
+++ php-src/ext/date/lib/resource/parse_date.re Thu Aug 25 05:46:31 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.re,v 1.28 2005/08/24 13:47:28 derick Exp $ */
+/* $Id: parse_date.re,v 1.29 2005/08/25 09:46:31 derick Exp $ */
 
 #include "timelib.h"
 
@@ -831,7 +831,8 @@
 /* Date formats */
 americanshort    = month "/" day;
 american         = month "/" day "/" year;
-iso8601dateslash = year4 "/" month "/" daylz "/"?;
+iso8601dateslash = year4 "/" monthlz "/" daylz "/"?;
+dateslash        = year4 "/" month "/" day;
 gnudateshort     = year "-" month "-" day;
 iso8601date      = year4 "-" monthlz "-" daylz;
 pointeddate      = day "." month "." year;
@@ -1063,9 +1064,9 @@
                return TIMELIB_AMERICAN;
        }
 
-       iso8601date | iso8601dateslash
+       iso8601date | iso8601dateslash | dateslash
        {
-               DEBUG_OUTPUT("iso8601date | iso8601dateslash");
+               DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash");
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
                s->time->y = timelib_get_nr((char **) &ptr, 4);
http://cvs.php.net/diff.php/php-src/ext/date/tests/bug34087.phpt?r1=1.3&r2=1.4&ty=u
Index: php-src/ext/date/tests/bug34087.phpt
diff -u php-src/ext/date/tests/bug34087.phpt:1.3 
php-src/ext/date/tests/bug34087.phpt:1.4
--- php-src/ext/date/tests/bug34087.phpt:1.3    Wed Aug 24 10:17:58 2005
+++ php-src/ext/date/tests/bug34087.phpt        Thu Aug 25 05:46:31 2005
@@ -4,8 +4,17 @@
 <?php
 date_default_timezone_set("UTC");
 echo "Y/m/d: ", strtotime("2005/8/12"), "\n";
-echo "Y-m-d: ", strtotime("2005-8-12");
+echo "Y-m-d: ", strtotime("2005-8-12"), "\n";
+
+echo date(DATE_ISO8601, strtotime("2005/1/2")), "\n";
+echo date(DATE_ISO8601, strtotime("2005/01/02")), "\n";
+echo date(DATE_ISO8601, strtotime("2005/01/2")), "\n";
+echo date(DATE_ISO8601, strtotime("2005/1/02")), "\n";
 ?>
 --EXPECT--
 Y/m/d: 1123804800
 Y-m-d: 1123804800
+2005-01-02T00:00:00+0000
+2005-01-02T00:00:00+0000
+2005-01-02T00:00:00+0000
+2005-01-02T00:00:00+0000

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to