derick          Thu May  1 16:15:58 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/date   php_date.c 
    /php-src/ext/date/lib       parse_date.c parse_date.re timelib.c 
                                timelib_structs.h tm2unixtime.c 
  Log:
  - MFH: Rearranged some structures to allow for more powerfull 
period/intervals.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.43.2.45.2.51.2.32&r2=1.43.2.45.2.51.2.33&diff_format=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.43.2.45.2.51.2.32 
php-src/ext/date/php_date.c:1.43.2.45.2.51.2.33
--- php-src/ext/date/php_date.c:1.43.2.45.2.51.2.32     Thu May  1 13:31:22 2008
+++ php-src/ext/date/php_date.c Thu May  1 16:15:26 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_date.c,v 1.43.2.45.2.51.2.32 2008/05/01 13:31:22 derick Exp $ */
+/* $Id: php_date.c,v 1.43.2.45.2.51.2.33 2008/05/01 16:15:26 derick Exp $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -2213,7 +2213,7 @@
        timelib_fill_holes(dateobj->time, now, 0);
        timelib_update_ts(dateobj->time, tzi);
 
-       dateobj->time->have_weekday_relative = dateobj->time->have_relative = 0;
+       dateobj->time->have_relative = 0;
 
        if (type == TIMELIB_ZONETYPE_ID && now->tz_info != tzi) {
                timelib_tzinfo_dtor(now->tz_info);
@@ -2453,28 +2453,24 @@
                                break;
                }
        }
-       if (parsed_time->have_relative || parsed_time->have_weekday_relative || 
parsed_time->have_special_relative || parsed_time->relative.first_last_day_of) {
+       if (parsed_time->have_relative) {
                MAKE_STD_ZVAL(element);
                array_init(element);
-       }
-       if (parsed_time->have_relative) {
                add_assoc_long(element, "year",   parsed_time->relative.y);
                add_assoc_long(element, "month",  parsed_time->relative.m);
                add_assoc_long(element, "day",    parsed_time->relative.d);
                add_assoc_long(element, "hour",   parsed_time->relative.h);
                add_assoc_long(element, "minute", parsed_time->relative.i);
                add_assoc_long(element, "second", parsed_time->relative.s);
-       }
-       if (parsed_time->have_weekday_relative) {
-               add_assoc_long(element, "weekday", 
parsed_time->relative.weekday);
-       }
-       if (parsed_time->have_special_relative && (parsed_time->special.type == 
TIMELIB_SPECIAL_WEEKDAY)) {
-               add_assoc_long(element, "weekdays", 
parsed_time->special.amount);
-       }
-       if (parsed_time->relative.first_last_day_of) {
-               add_assoc_bool(element, parsed_time->relative.first_last_day_of 
== 1 ? "first_day_of_month" : "last_day_of_month", 1);
-       }
-       if (parsed_time->have_relative || parsed_time->have_weekday_relative || 
parsed_time->have_special_relative || parsed_time->relative.first_last_day_of) {
+               if (parsed_time->relative.have_weekday_relative) {
+                       add_assoc_long(element, "weekday", 
parsed_time->relative.weekday);
+               }
+               if (parsed_time->relative.have_special_relative && 
(parsed_time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY)) {
+                       add_assoc_long(element, "weekdays", 
parsed_time->relative.special.amount);
+               }
+               if (parsed_time->relative.first_last_day_of) {
+                       add_assoc_bool(element, 
parsed_time->relative.first_last_day_of == 1 ? "first_day_of_month" : 
"last_day_of_month", 1);
+               }
                add_assoc_zval(return_value, "relative", element);
        }
        timelib_time_dtor(parsed_time);
@@ -2563,7 +2559,7 @@
        dateobj->time->relative.s = tmp_time->relative.s;
        dateobj->time->relative.weekday = tmp_time->relative.weekday;
        dateobj->time->have_relative = tmp_time->have_relative;
-       dateobj->time->have_weekday_relative = tmp_time->have_weekday_relative;
+       dateobj->time->relative.have_weekday_relative = 
tmp_time->relative.have_weekday_relative;
        dateobj->time->sse_uptodate = 0;
        timelib_time_dtor(tmp_time);
 
@@ -2600,9 +2596,9 @@
        dateobj->time->relative.h = intobj->diff->h * bias;
        dateobj->time->relative.i = intobj->diff->i * bias;
        dateobj->time->relative.s = intobj->diff->s * bias;
-       dateobj->time->relative.weekday = 0;
        dateobj->time->have_relative = 1;
-       dateobj->time->have_weekday_relative = 0;
+       dateobj->time->relative.weekday = 0;
+       dateobj->time->relative.have_weekday_relative = 0;
        dateobj->time->sse_uptodate = 0;
 
        timelib_update_ts(dateobj->time, NULL);
@@ -2638,9 +2634,9 @@
        dateobj->time->relative.h = 0 - (intobj->diff->h * bias);
        dateobj->time->relative.i = 0 - (intobj->diff->i * bias);
        dateobj->time->relative.s = 0 - (intobj->diff->s * bias);
-       dateobj->time->relative.weekday = 0;
        dateobj->time->have_relative = 1;
-       dateobj->time->have_weekday_relative = 0;
+       dateobj->time->relative.weekday = 0;
+       dateobj->time->relative.have_weekday_relative = 0;
        dateobj->time->sse_uptodate = 0;
 
        timelib_update_ts(dateobj->time, NULL);
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/parse_date.c?r1=1.29.2.30.2.14.2.13&r2=1.29.2.30.2.14.2.14&diff_format=u
Index: php-src/ext/date/lib/parse_date.c
diff -u php-src/ext/date/lib/parse_date.c:1.29.2.30.2.14.2.13 
php-src/ext/date/lib/parse_date.c:1.29.2.30.2.14.2.14
--- php-src/ext/date/lib/parse_date.c:1.29.2.30.2.14.2.13       Sun Apr 27 
19:14:15 2008
+++ php-src/ext/date/lib/parse_date.c   Thu May  1 16:15:27 2008
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.3 on Sun Apr 27 20:57:09 2008 */
+/* Generated by re2c 0.13.4 on Thu May  1 18:11:55 2008 */
 #line 1 "ext/date/lib/parse_date.re"
 /*
    +----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.c,v 1.29.2.30.2.14.2.13 2008/04/27 19:14:15 derick Exp $ */
+/* $Id: parse_date.c,v 1.29.2.30.2.14.2.14 2008/05/01 16:15:27 derick Exp $ */
 
 #include "timelib.h"
 
@@ -108,8 +108,8 @@
 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double 
date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { 
s->time->have_date = 1; } }
 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; 
s->time->m = 0; s->time->y = 0; }
 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
-#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; }
-#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_special_relative = 1; }
+#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; 
s->time->relative.have_weekday_relative = 1; }
+#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; 
s->time->relative.have_special_relative = 1; }
 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { 
s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : 
add_warning(s, "Double timezone specification"); timelib_string_free(str); 
s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
 
 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
@@ -681,8 +681,8 @@
                case TIMELIB_SPECIAL:
                        TIMELIB_HAVE_SPECIAL_RELATIVE();
                        TIMELIB_UNHAVE_TIME();
-                       s->time->special.type = relunit->multiplier;
-                       s->time->special.amount = amount;
+                       s->time->relative.special.type = relunit->multiplier;
+                       s->time->relative.special.amount = amount;
        }
 }
 
@@ -886,8 +886,8 @@
        YYDEBUG(-1, yych);
        switch (yych) {
        case 0x00:
-       case 0x0A:      goto yy49;
-       case 0x09:
+       case '\n':      goto yy49;
+       case '\t':
        case ' ':       goto yy46;
        case '(':       goto yy43;
        case '+':
@@ -1441,7 +1441,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:      goto yy1225;
+       case '\t':      goto yy1225;
        case ' ':
        case 'A':
        case 'D':
@@ -1493,7 +1493,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:      goto yy640;
+       case '\t':      goto yy640;
        case ' ':
        case 'A':
        case 'D':
@@ -1547,7 +1547,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:      goto yy640;
+       case '\t':      goto yy640;
        case ' ':
        case 'A':
        case 'D':
@@ -1601,7 +1601,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:      goto yy640;
+       case '\t':      goto yy640;
        case ' ':
        case 'A':
        case 'D':
@@ -1655,7 +1655,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:      goto yy640;
+       case '\t':      goto yy640;
        case ' ':
        case 'A':
        case 'D':
@@ -1732,7 +1732,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy3;
                                goto yy317;
                        } else {
@@ -1775,7 +1775,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy3;
                        goto yy317;
                } else {
@@ -1806,7 +1806,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy3;
                        goto yy317;
                } else {
@@ -2368,7 +2368,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy57;
+                               if (yych == '\t') goto yy57;
                                if (yych >= ' ') goto yy57;
                        } else {
                                if (yych == 'D') goto yy62;
@@ -2553,7 +2553,7 @@
 yy55:
        YYDEBUG(55, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(56, *YYCURSOR);
        if (yybm[0+yych] & 8) {
@@ -2572,7 +2572,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy57;
+                               if (yych == '\t') goto yy57;
                                if (yych <= 0x1F) goto yy54;
                                goto yy57;
                        } else {
@@ -3264,13 +3264,13 @@
 yy145:
        YYDEBUG(145, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        if (yych <= '@') goto yy54;
        if (yych >= '[') goto yy54;
        YYDEBUG(146, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        if (yybm[0+yych] & 16) {
                goto yy147;
@@ -3280,7 +3280,7 @@
        YYDEBUG(147, *YYCURSOR);
        yyaccept = 0;
        YYMARKER = ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(148, *YYCURSOR);
        if (yybm[0+yych] & 16) {
@@ -3353,7 +3353,7 @@
 yy152:
        YYDEBUG(152, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
 yy153:
        YYDEBUG(153, *YYCURSOR);
@@ -3591,7 +3591,7 @@
 yy170:
        YYDEBUG(170, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 0x09) goto yy171;
+       if (yych == '\t') goto yy171;
        if (yych != ' ') goto yy54;
 yy171:
        YYDEBUG(171, *YYCURSOR);
@@ -3603,7 +3603,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy171;
+                               if (yych == '\t') goto yy171;
                                if (yych <= 0x1F) goto yy54;
                                goto yy171;
                        } else {
@@ -4245,7 +4245,7 @@
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '(') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy3;
                        goto yy171;
                } else {
@@ -4420,7 +4420,7 @@
        YYDEBUG(261, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= '.') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy54;
                        goto yy171;
                } else {
@@ -4494,7 +4494,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy171;
+                       if (yych == '\t') goto yy171;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy171;
@@ -4621,7 +4621,7 @@
 yy271:
        YYDEBUG(271, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 0x09) goto yy272;
+       if (yych == '\t') goto yy272;
        if (yych != ' ') goto yy54;
 yy272:
        YYDEBUG(272, *YYCURSOR);
@@ -4633,7 +4633,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy272;
+                               if (yych == '\t') goto yy272;
                                if (yych <= 0x1F) goto yy54;
                                goto yy272;
                        } else {
@@ -4737,7 +4737,7 @@
                        s->time->relative.weekday_behavior = 2;
 
                        /* to handle the format weekday + last/this/next week */
-                       if (s->time->have_weekday_relative == 0) {
+                       if (s->time->relative.have_weekday_relative == 0) {
                                TIMELIB_HAVE_WEEKDAY_RELATIVE();
                                s->time->relative.weekday = 1;
                        }
@@ -4877,7 +4877,7 @@
        YYDEBUG(285, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= '.') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy54;
                        goto yy272;
                } else {
@@ -5402,8 +5402,8 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
-                               if (yych >= 0x09) goto yy317;
+                       if (yych <= '\t') {
+                               if (yych >= '\t') goto yy317;
                        } else {
                                if (yych == ' ') goto yy317;
                        }
@@ -5622,7 +5622,7 @@
        yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ' ') {
-               if (yych == 0x09) goto yy317;
+               if (yych == '\t') goto yy317;
                if (yych <= 0x1F) goto yy315;
                goto yy317;
        } else {
@@ -5844,7 +5844,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '*') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy352;
+                       if (yych == '\t') goto yy352;
                        goto yy344;
                } else {
                        if (yych <= ' ') goto yy352;
@@ -5872,7 +5872,7 @@
        YYDEBUG(352, *YYCURSOR);
        if (yych <= '+') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy351;
+                       if (yych == '\t') goto yy351;
                        if (yych <= 0x1F) goto yy54;
                        goto yy351;
                } else {
@@ -6046,13 +6046,13 @@
 yy365:
        YYDEBUG(365, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        if (yych <= '@') goto yy54;
        if (yych >= '[') goto yy54;
        YYDEBUG(366, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        if (yych <= '`') goto yy54;
        if (yych >= '{') goto yy54;
@@ -6060,7 +6060,7 @@
        YYDEBUG(367, *YYCURSOR);
        yyaccept = 9;
        YYMARKER = ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(368, *YYCURSOR);
        if (yych <= '^') {
@@ -6134,7 +6134,7 @@
 yy372:
        YYDEBUG(372, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(373, *YYCURSOR);
        if (yych <= '^') {
@@ -6328,7 +6328,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '*') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy394;
+                       if (yych == '\t') goto yy394;
                        goto yy344;
                } else {
                        if (yych <= ' ') goto yy394;
@@ -6356,7 +6356,7 @@
        YYDEBUG(394, *YYCURSOR);
        if (yych <= '@') {
                if (yych <= '\'') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy54;
                                goto yy393;
                        } else {
@@ -6453,7 +6453,7 @@
        yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ')') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x00) goto yy400;
                        if (yych <= 0x08) goto yy344;
                        goto yy400;
@@ -6475,7 +6475,7 @@
 yy399:
        YYDEBUG(399, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy400;
                if (yych <= 0x08) goto yy54;
        } else {
@@ -6514,7 +6514,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy400;
-               if (yych == 0x09) goto yy400;
+               if (yych == '\t') goto yy400;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy400;
@@ -6528,7 +6528,7 @@
        if (yych <= '-') {
                if (yych <= 0x1F) {
                        if (yych <= 0x00) goto yy400;
-                       if (yych == 0x09) goto yy400;
+                       if (yych == '\t') goto yy400;
                        goto yy344;
                } else {
                        if (yych <= ' ') goto yy400;
@@ -6558,7 +6558,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy405;
+                       if (yych == '\t') goto yy405;
                        if (yych <= 0x1F) goto yy344;
                } else {
                        if (yych == '.') goto yy389;
@@ -6588,7 +6588,7 @@
        YYDEBUG(406, *YYCURSOR);
        if (yych <= 'A') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy405;
+                       if (yych == '\t') goto yy405;
                        goto yy54;
                } else {
                        if (yych <= ' ') goto yy405;
@@ -6622,7 +6622,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy400;
-               if (yych == 0x09) goto yy400;
+               if (yych == '\t') goto yy400;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy400;
@@ -6631,7 +6631,7 @@
 yy410:
        YYDEBUG(410, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy400;
                if (yych <= 0x08) goto yy54;
                goto yy400;
@@ -6966,7 +6966,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy440;
+                       if (yych == '\t') goto yy440;
                        if (yych <= 0x1F) goto yy344;
                        goto yy440;
                } else {
@@ -7004,7 +7004,7 @@
        YYDEBUG(440, *YYCURSOR);
        if (yych <= '@') {
                if (yych <= '\'') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy54;
                                goto yy439;
                        } else {
@@ -7095,7 +7095,7 @@
        yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ')') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x00) goto yy400;
                        if (yych <= 0x08) goto yy344;
                        goto yy400;
@@ -7125,7 +7125,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy400;
-               if (yych == 0x09) goto yy400;
+               if (yych == '\t') goto yy400;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy400;
@@ -7134,7 +7134,7 @@
 yy446:
        YYDEBUG(446, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy400;
                if (yych <= 0x08) goto yy54;
                goto yy400;
@@ -7149,7 +7149,7 @@
        if (yych <= '-') {
                if (yych <= 0x1F) {
                        if (yych <= 0x00) goto yy400;
-                       if (yych == 0x09) goto yy400;
+                       if (yych == '\t') goto yy400;
                        goto yy344;
                } else {
                        if (yych <= ' ') goto yy400;
@@ -7179,7 +7179,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy405;
+                       if (yych == '\t') goto yy405;
                        if (yych <= 0x1F) goto yy320;
                        goto yy405;
                } else {
@@ -7213,7 +7213,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy405;
+                       if (yych == '\t') goto yy405;
                        if (yych <= 0x1F) goto yy320;
                        goto yy405;
                } else {
@@ -7277,7 +7277,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy394;
+                       if (yych == '\t') goto yy394;
                        if (yych <= 0x1F) goto yy344;
                        goto yy394;
                } else {
@@ -7312,7 +7312,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy405;
+                       if (yych == '\t') goto yy405;
                        if (yych <= 0x1F) goto yy320;
                        goto yy405;
                } else {
@@ -7466,7 +7466,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy467;
+                       if (yych == '\t') goto yy467;
                        if (yych <= 0x1F) goto yy344;
                        goto yy467;
                } else {
@@ -7504,7 +7504,7 @@
        YYDEBUG(467, *YYCURSOR);
        if (yych <= '@') {
                if (yych <= '\'') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy54;
                                goto yy466;
                        } else {
@@ -7595,7 +7595,7 @@
        yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ')') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x00) goto yy400;
                        if (yych <= 0x08) goto yy344;
                        goto yy400;
@@ -7622,7 +7622,7 @@
        if (yych <= '-') {
                if (yych <= 0x1F) {
                        if (yych <= 0x00) goto yy400;
-                       if (yych == 0x09) goto yy400;
+                       if (yych == '\t') goto yy400;
                        goto yy344;
                } else {
                        if (yych <= ' ') goto yy400;
@@ -7706,7 +7706,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy352;
+                       if (yych == '\t') goto yy352;
                        if (yych <= 0x1F) goto yy344;
                        goto yy352;
                } else {
@@ -8052,7 +8052,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -8175,7 +8175,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy315;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -8222,7 +8222,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -8344,7 +8344,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -8761,7 +8761,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -8948,7 +8948,7 @@
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 0x1F) {
-               if (yych == 0x09) goto yy171;
+               if (yych == '\t') goto yy171;
                goto yy3;
        } else {
                if (yych <= ' ') goto yy171;
@@ -8961,7 +8961,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -9414,7 +9414,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -9632,7 +9632,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ')') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy171;
+                       if (yych == '\t') goto yy171;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy171;
@@ -9656,7 +9656,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -9847,8 +9847,8 @@
                if (s->time->relative.weekday == 0) {
                        s->time->relative.weekday = -7;
                }
-               if (s->time->have_special_relative && s->time->special.type == 
TIMELIB_SPECIAL_WEEKDAY) {
-                       s->time->special.amount = 0 - s->time->special.amount;
+               if (s->time->relative.have_special_relative && 
s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
+                       s->time->relative.special.amount = 0 - 
s->time->relative.special.amount;
                }
                TIMELIB_DEINIT;
                return TIMELIB_AGO;
@@ -9860,7 +9860,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -9924,7 +9924,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy315;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -9949,7 +9949,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10034,7 +10034,7 @@
        yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '(') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy315;
                        goto yy317;
                } else {
@@ -10156,7 +10156,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10226,7 +10226,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy315;
                        goto yy317;
                } else {
@@ -10257,7 +10257,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10352,7 +10352,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy315;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -10423,7 +10423,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10514,7 +10514,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10557,7 +10557,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10599,7 +10599,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy315;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -10689,7 +10689,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10807,7 +10807,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10852,7 +10852,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -10897,7 +10897,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy315;
                        goto yy317;
                } else {
@@ -10928,7 +10928,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy3;
                        goto yy317;
                } else {
@@ -10958,7 +10958,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -10983,7 +10983,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy3;
                        goto yy317;
                } else {
@@ -11012,7 +11012,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy3;
                        goto yy317;
                } else {
@@ -11041,7 +11041,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -11066,7 +11066,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy317;
@@ -11091,7 +11091,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy3;
                        goto yy317;
                } else {
@@ -11123,7 +11123,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11190,7 +11190,7 @@
        if (yych <= 'T') {
                if (yych <= ':') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11266,7 +11266,7 @@
        if (yych <= 'T') {
                if (yych <= 'C') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11334,7 +11334,7 @@
 yy620:
        YYDEBUG(620, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(621, *YYCURSOR);
        if (yybm[0+yych] & 8) {
@@ -11356,7 +11356,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11419,7 +11419,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11557,7 +11557,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11620,7 +11620,7 @@
        if (yych <= 'T') {
                if (yych <= 'C') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11690,7 +11690,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11756,7 +11756,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy3;
                                goto yy58;
                        } else {
@@ -11828,7 +11828,7 @@
        YYDEBUG(642, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':       goto yy641;
        case '-':
        case '.':       goto yy757;
@@ -12092,7 +12092,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                } else {
                        if (yych <= ' ') goto yy712;
                        if (yych <= ',') goto yy656;
@@ -12126,7 +12126,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -12148,7 +12148,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -12243,7 +12243,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy668;
-               if (yych == 0x09) goto yy668;
+               if (yych == '\t') goto yy668;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy668;
@@ -12251,7 +12251,7 @@
        }
        YYDEBUG(667, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy668;
                if (yych <= 0x08) goto yy54;
        } else {
@@ -12358,7 +12358,7 @@
 yy678:
        YYDEBUG(678, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(679, *YYCURSOR);
        if (yych <= '/') goto yy671;
@@ -12370,7 +12370,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '@') {
                if (yych <= 0x1F) {
-                       if (yych != 0x09) goto yy671;
+                       if (yych != '\t') goto yy671;
                } else {
                        if (yych <= ' ') goto yy681;
                        if (yych == '.') goto yy677;
@@ -12395,7 +12395,7 @@
        YYDEBUG(682, *YYCURSOR);
        if (yych <= 'A') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy681;
+                       if (yych == '\t') goto yy681;
                        goto yy54;
                } else {
                        if (yych <= ' ') goto yy681;
@@ -12428,7 +12428,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy668;
-               if (yych == 0x09) goto yy668;
+               if (yych == '\t') goto yy668;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy668;
@@ -12436,7 +12436,7 @@
        }
        YYDEBUG(686, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy668;
                if (yych <= 0x08) goto yy54;
                goto yy668;
@@ -12450,7 +12450,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy688;
+                       if (yych == '\t') goto yy688;
                        if (yych <= 0x1F) goto yy671;
                } else {
                        if (yych == '.') goto yy673;
@@ -12480,7 +12480,7 @@
        YYDEBUG(689, *YYCURSOR);
        if (yych <= 'A') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy688;
+                       if (yych == '\t') goto yy688;
                        goto yy54;
                } else {
                        if (yych <= ' ') goto yy688;
@@ -12533,7 +12533,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy681;
+                       if (yych == '\t') goto yy681;
                        if (yych <= 0x1F) goto yy671;
                        goto yy681;
                } else {
@@ -12607,7 +12607,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy703;
-               if (yych == 0x09) goto yy703;
+               if (yych == '\t') goto yy703;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy703;
@@ -12615,7 +12615,7 @@
        }
        YYDEBUG(702, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy703;
                if (yych <= 0x08) goto yy54;
        } else {
@@ -12680,7 +12680,7 @@
        yych = *++YYCURSOR;
        if (yych <= 0x1F) {
                if (yych <= 0x00) goto yy668;
-               if (yych == 0x09) goto yy668;
+               if (yych == '\t') goto yy668;
                goto yy54;
        } else {
                if (yych <= ' ') goto yy668;
@@ -12688,7 +12688,7 @@
        }
        YYDEBUG(709, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x09) {
+       if (yych <= '\t') {
                if (yych <= 0x00) goto yy668;
                if (yych <= 0x08) goto yy54;
                goto yy668;
@@ -12707,7 +12707,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych != 0x09) goto yy656;
+                       if (yych != '\t') goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
                        if (yych <= ',') goto yy656;
@@ -12731,7 +12731,7 @@
 yy713:
        YYDEBUG(713, *YYCURSOR);
        if (yych <= ' ') {
-               if (yych == 0x09) goto yy712;
+               if (yych == '\t') goto yy712;
                if (yych <= 0x1F) goto yy54;
                goto yy712;
        } else {
@@ -12789,7 +12789,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ' ') {
-               if (yych == 0x09) goto yy712;
+               if (yych == '\t') goto yy712;
                if (yych <= 0x1F) goto yy656;
                goto yy712;
        } else {
@@ -12826,7 +12826,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -12876,7 +12876,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -12905,7 +12905,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -12960,7 +12960,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -12999,7 +12999,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13023,7 +13023,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13046,7 +13046,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -13068,7 +13068,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -13088,7 +13088,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -13110,7 +13110,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -13231,7 +13231,7 @@
        YYDEBUG(758, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':
        case '-':
        case '.':       goto yy757;
@@ -13267,7 +13267,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13316,7 +13316,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13339,7 +13339,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13398,7 +13398,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13432,7 +13432,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13558,7 +13558,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy681;
+                       if (yych == '\t') goto yy681;
                        if (yych <= 0x1F) goto yy671;
                        goto yy681;
                } else {
@@ -13593,7 +13593,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy688;
+                       if (yych == '\t') goto yy688;
                        if (yych <= 0x1F) goto yy671;
                        goto yy688;
                } else {
@@ -13622,7 +13622,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ':') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy688;
+                       if (yych == '\t') goto yy688;
                        if (yych <= 0x1F) goto yy671;
                        goto yy688;
                } else {
@@ -13758,7 +13758,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13820,7 +13820,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13850,7 +13850,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13880,7 +13880,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13904,7 +13904,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13940,7 +13940,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -13965,7 +13965,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -14005,7 +14005,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -14029,7 +14029,7 @@
        yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy656;
                        goto yy712;
                } else {
@@ -14057,7 +14057,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -14103,7 +14103,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -14128,7 +14128,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -14153,7 +14153,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy712;
+                       if (yych == '\t') goto yy712;
                        goto yy656;
                } else {
                        if (yych <= ' ') goto yy712;
@@ -14519,7 +14519,7 @@
 yy874:
        YYDEBUG(874, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 0x09) goto yy875;
+       if (yych == '\t') goto yy875;
        if (yych != ' ') goto yy54;
 yy875:
        YYDEBUG(875, *YYCURSOR);
@@ -14528,7 +14528,7 @@
        yych = *YYCURSOR;
        YYDEBUG(876, *YYCURSOR);
        if (yych <= '*') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy54;
                        goto yy875;
                } else {
@@ -14761,7 +14761,7 @@
        YYDEBUG(908, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= ',') {
-               if (yych == 0x09) goto yy910;
+               if (yych == '\t') goto yy910;
                goto yy758;
        } else {
                if (yych <= '.') goto yy910;
@@ -15241,7 +15241,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':
        case 'A':
        case 'D':
@@ -15395,7 +15395,7 @@
        YYDEBUG(964, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':       goto yy963;
        case '-':
        case '.':       goto yy1111;
@@ -15744,7 +15744,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych >= ' ') goto yy58;
                        } else {
                                if (yych == 'D') goto yy58;
@@ -15943,7 +15943,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy995;
                                goto yy58;
                        } else {
@@ -16006,7 +16006,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy995;
                                goto yy58;
                        } else {
@@ -16069,7 +16069,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy995;
                                goto yy58;
                        } else {
@@ -16138,7 +16138,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy57;
+                               if (yych == '\t') goto yy57;
                                if (yych >= ' ') goto yy57;
                        } else {
                                if (yych == 'D') goto yy62;
@@ -16783,7 +16783,7 @@
        YYDEBUG(1112, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':
        case '-':
        case '.':       goto yy1111;
@@ -17774,7 +17774,7 @@
        YYDEBUG(1221, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= '/') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy758;
                        goto yy910;
                } else {
@@ -17812,7 +17812,7 @@
        yych = *++YYCURSOR;
        if (yych <= '9') {
                if (yych <= ',') {
-                       if (yych == 0x09) goto yy1225;
+                       if (yych == '\t') goto yy1225;
                        goto yy1227;
                } else {
                        if (yych <= '-') goto yy1224;
@@ -17881,7 +17881,7 @@
        YYDEBUG(1227, *YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':       goto yy1226;
        case '-':
        case '.':       goto yy757;
@@ -18038,7 +18038,7 @@
        yych = *++YYCURSOR;
        if (yych <= '9') {
                if (yych <= '-') {
-                       if (yych == 0x09) goto yy1225;
+                       if (yych == '\t') goto yy1225;
                        if (yych <= ',') goto yy1227;
                        goto yy1224;
                } else {
@@ -18089,7 +18089,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        YYDEBUG(-1, yych);
        switch (yych) {
-       case 0x09:
+       case '\t':
        case ' ':
        case 'A':
        case 'D':
@@ -18210,7 +18210,7 @@
        if (yych <= 'W') {
                if (yych <= 'F') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych >= ' ') goto yy58;
                        } else {
                                if (yych == 'D') goto yy58;
@@ -18277,7 +18277,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy1249;
                                goto yy58;
                        } else {
@@ -18340,7 +18340,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy1249;
                                goto yy58;
                        } else {
@@ -18407,7 +18407,7 @@
        if (yych <= 'V') {
                if (yych <= 'D') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy1249;
                                goto yy58;
                        } else {
@@ -18470,7 +18470,7 @@
        if (yych <= 'T') {
                if (yych <= '9') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy1249;
                                goto yy58;
                        } else {
@@ -18546,7 +18546,7 @@
        if (yych <= 'T') {
                if (yych <= '9') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy1249;
                                goto yy58;
                        } else {
@@ -18622,7 +18622,7 @@
        if (yych <= 'T') {
                if (yych <= '9') {
                        if (yych <= ' ') {
-                               if (yych == 0x09) goto yy58;
+                               if (yych == '\t') goto yy58;
                                if (yych <= 0x1F) goto yy1249;
                                goto yy58;
                        } else {
@@ -18827,7 +18827,7 @@
        yych = *++YYCURSOR;
        if (yych <= '9') {
                if (yych <= '-') {
-                       if (yych == 0x09) goto yy640;
+                       if (yych == '\t') goto yy640;
                        if (yych <= ',') goto yy642;
                        goto yy1224;
                } else {
@@ -18853,7 +18853,7 @@
        yych = *++YYCURSOR;
        if (yych <= '9') {
                if (yych <= '-') {
-                       if (yych == 0x09) goto yy1225;
+                       if (yych == '\t') goto yy1225;
                        if (yych <= ',') goto yy1227;
                        goto yy1224;
                } else {
@@ -18923,7 +18923,7 @@
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '(') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy3;
                        goto yy272;
                } else {
@@ -19054,7 +19054,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy272;
+                       if (yych == '\t') goto yy272;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy1274;
@@ -19389,7 +19389,7 @@
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '(') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy3;
                        goto yy171;
                } else {
@@ -19448,7 +19448,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -19910,7 +19910,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy171;
+                       if (yych == '\t') goto yy171;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy1300;
@@ -19936,7 +19936,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -20062,7 +20062,7 @@
 yy1332:
        YYDEBUG(1332, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT == YYCURSOR) YYFILL(1);
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        YYDEBUG(1333, *YYCURSOR);
        if (yych <= '/') goto yy1334;
@@ -20659,7 +20659,7 @@
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '(') {
-               if (yych <= 0x09) {
+               if (yych <= '\t') {
                        if (yych <= 0x08) goto yy3;
                        goto yy272;
                } else {
@@ -21407,7 +21407,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == 0x09) goto yy272;
+                       if (yych == '\t') goto yy272;
                        goto yy3;
                } else {
                        if (yych <= ' ') goto yy272;
@@ -21778,7 +21778,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -21821,7 +21821,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '-') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy315;
                        goto yy317;
                } else {
@@ -22150,7 +22150,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -22195,7 +22195,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
                if (yych <= ' ') {
-                       if (yych == 0x09) goto yy317;
+                       if (yych == '\t') goto yy317;
                        if (yych <= 0x1F) goto yy315;
                        goto yy317;
                } else {
@@ -22444,7 +22444,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
@@ -22789,7 +22789,7 @@
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
                if (yych <= '(') {
-                       if (yych <= 0x09) {
+                       if (yych <= '\t') {
                                if (yych <= 0x08) goto yy315;
                                goto yy317;
                        } else {
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/parse_date.re?r1=1.26.2.27.2.12.2.11&r2=1.26.2.27.2.12.2.12&diff_format=u
Index: php-src/ext/date/lib/parse_date.re
diff -u php-src/ext/date/lib/parse_date.re:1.26.2.27.2.12.2.11 
php-src/ext/date/lib/parse_date.re:1.26.2.27.2.12.2.12
--- php-src/ext/date/lib/parse_date.re:1.26.2.27.2.12.2.11      Sun Apr 27 
19:14:33 2008
+++ php-src/ext/date/lib/parse_date.re  Thu May  1 16:15:45 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_date.re,v 1.26.2.27.2.12.2.11 2008/04/27 19:14:33 derick Exp $ */
+/* $Id: parse_date.re,v 1.26.2.27.2.12.2.12 2008/05/01 16:15:45 derick Exp $ */
 
 #include "timelib.h"
 
@@ -106,8 +106,8 @@
 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double 
date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { 
s->time->have_date = 1; } }
 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; 
s->time->m = 0; s->time->y = 0; }
 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
-#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; }
-#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_special_relative = 1; }
+#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; 
s->time->relative.have_weekday_relative = 1; }
+#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; 
s->time->relative.have_special_relative = 1; }
 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { 
s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : 
add_warning(s, "Double timezone specification"); timelib_string_free(str); 
s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
 
 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
@@ -679,8 +679,8 @@
                case TIMELIB_SPECIAL:
                        TIMELIB_HAVE_SPECIAL_RELATIVE();
                        TIMELIB_UNHAVE_TIME();
-                       s->time->special.type = relunit->multiplier;
-                       s->time->special.amount = amount;
+                       s->time->relative.special.type = relunit->multiplier;
+                       s->time->relative.special.amount = amount;
        }
 }
 
@@ -1500,8 +1500,8 @@
                if (s->time->relative.weekday == 0) {
                        s->time->relative.weekday = -7;
                }
-               if (s->time->have_special_relative && s->time->special.type == 
TIMELIB_SPECIAL_WEEKDAY) {
-                       s->time->special.amount = 0 - s->time->special.amount;
+               if (s->time->relative.have_special_relative && 
s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
+                       s->time->relative.special.amount = 0 - 
s->time->relative.special.amount;
                }
                TIMELIB_DEINIT;
                return TIMELIB_AGO;
@@ -1540,7 +1540,7 @@
                        s->time->relative.weekday_behavior = 2;
 
                        /* to handle the format weekday + last/this/next week */
-                       if (s->time->have_weekday_relative == 0) {
+                       if (s->time->relative.have_weekday_relative == 0) {
                                TIMELIB_HAVE_WEEKDAY_RELATIVE();
                                s->time->relative.weekday = 1;
                        }
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/timelib.c?r1=1.7.2.4.2.6.2.4&r2=1.7.2.4.2.6.2.5&diff_format=u
Index: php-src/ext/date/lib/timelib.c
diff -u php-src/ext/date/lib/timelib.c:1.7.2.4.2.6.2.4 
php-src/ext/date/lib/timelib.c:1.7.2.4.2.6.2.5
--- php-src/ext/date/lib/timelib.c:1.7.2.4.2.6.2.4      Thu May  1 00:12:24 2008
+++ php-src/ext/date/lib/timelib.c      Thu May  1 16:15:45 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: timelib.c,v 1.7.2.4.2.6.2.4 2008/05/01 00:12:24 derick Exp $ */
+/* $Id: timelib.c,v 1.7.2.4.2.6.2.5 2008/05/01 16:15:45 derick Exp $ */
 
 #include "timelib.h"
 #include <ctype.h>
@@ -234,15 +234,15 @@
                                                break;
                                }
                        }
-               }
-               if (d->have_weekday_relative) {
-                       printf(" / %d.%d", d->relative.weekday, 
d->relative.weekday_behavior);
-               }
-               if (d->have_special_relative) {
-                       switch (d->special.type) {
-                               case TIMELIB_SPECIAL_WEEKDAY:
-                                       printf(" / %lld weekday", 
d->special.amount);
-                                       break;
+                       if (d->relative.have_weekday_relative) {
+                               printf(" / %d.%d", d->relative.weekday, 
d->relative.weekday_behavior);
+                       }
+                       if (d->relative.have_special_relative) {
+                               switch (d->relative.special.type) {
+                                       case TIMELIB_SPECIAL_WEEKDAY:
+                                               printf(" / %lld weekday", 
d->relative.special.amount);
+                                               break;
+                               }
                        }
                }
        }
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/timelib_structs.h?r1=1.13.2.6.2.3.2.4&r2=1.13.2.6.2.3.2.5&diff_format=u
Index: php-src/ext/date/lib/timelib_structs.h
diff -u php-src/ext/date/lib/timelib_structs.h:1.13.2.6.2.3.2.4 
php-src/ext/date/lib/timelib_structs.h:1.13.2.6.2.3.2.5
--- php-src/ext/date/lib/timelib_structs.h:1.13.2.6.2.3.2.4     Fri Apr 25 
12:35:58 2008
+++ php-src/ext/date/lib/timelib_structs.h      Thu May  1 16:15:45 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: timelib_structs.h,v 1.13.2.6.2.3.2.4 2008/04/25 12:35:58 derick Exp $ 
*/
+/* $Id: timelib_structs.h,v 1.13.2.6.2.3.2.5 2008/05/01 16:15:45 derick Exp $ 
*/
 
 #ifndef __TIMELIB_STRUCTS_H__
 #define __TIMELIB_STRUCTS_H__
@@ -116,6 +116,11 @@
        tlinfo  *leap_times;
 } timelib_tzinfo;
 
+typedef struct timelib_special {
+       unsigned int type;
+       timelib_sll amount;
+} timelib_special;
+
 typedef struct timelib_rel_time {
        timelib_sll y, m, d; /* Years, Months and Days */
        timelib_sll h, i, s; /* Hours, mInutes and Seconds */
@@ -126,6 +131,9 @@
        int first_last_day_of;
        int invert; /* Whether the difference should be inverted */
        timelib_sll days; /* Contains the number of *days*, instead of Y-M-D 
differences */
+
+       timelib_special  special;
+       unsigned int   have_weekday_relative, have_special_relative;
 } timelib_rel_time;
 
 typedef struct timelib_time_offset {
@@ -136,11 +144,6 @@
        timelib_sll  transistion_time;
 } timelib_time_offset;
 
-typedef struct timelib_special {
-       unsigned int type;
-       timelib_sll amount;
-} timelib_special;
-
 typedef struct timelib_time {
        timelib_sll      y, m, d;     /* Year, Month, Day */
        timelib_sll      h, i, s;     /* Hour, mInute, Second */
@@ -150,11 +153,10 @@
        timelib_tzinfo  *tz_info;     /* Timezone structure */
        signed int       dst;         /* Flag if we were parsing a DST zone */
        timelib_rel_time relative;
-       timelib_special  special;
 
        timelib_sll      sse;         /* Seconds since epoch */
 
-       unsigned int   have_time, have_date, have_zone, have_relative, 
have_weekday_relative, have_special_relative, have_weeknr_day;
+       unsigned int   have_time, have_date, have_zone, have_relative, 
have_weeknr_day;
 
        unsigned int   sse_uptodate; /* !0 if the sse member is up to date with 
the date/time members */
        unsigned int   tim_uptodate; /* !0 if the date/time members are up to 
date with the sse member */
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/tm2unixtime.c?r1=1.13.2.3.2.2.2.5&r2=1.13.2.3.2.2.2.6&diff_format=u
Index: php-src/ext/date/lib/tm2unixtime.c
diff -u php-src/ext/date/lib/tm2unixtime.c:1.13.2.3.2.2.2.5 
php-src/ext/date/lib/tm2unixtime.c:1.13.2.3.2.2.2.6
--- php-src/ext/date/lib/tm2unixtime.c:1.13.2.3.2.2.2.5 Sun Apr 27 19:14:33 2008
+++ php-src/ext/date/lib/tm2unixtime.c  Thu May  1 16:15:45 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: tm2unixtime.c,v 1.13.2.3.2.2.2.5 2008/04/27 19:14:33 derick Exp $ */
+/* $Id: tm2unixtime.c,v 1.13.2.3.2.2.2.6 2008/05/01 16:15:45 derick Exp $ */
 
 #include "timelib.h"
 
@@ -142,7 +142,7 @@
        } else {
                time->d -= (7 - (abs(time->relative.weekday) - current_dow));
        }
-       time->have_weekday_relative = 0;
+       time->relative.have_weekday_relative = 0;
 }
 
 void timelib_do_rel_normalize(timelib_time *base, timelib_rel_time *rt)
@@ -169,7 +169,7 @@
 
 static void do_adjust_relative(timelib_time* time)
 {
-       if (time->have_weekday_relative) {
+       if (time->relative.have_weekday_relative) {
                do_adjust_for_weekday(time);
        }
        do_normalize(time);
@@ -203,7 +203,7 @@
        timelib_sll current_dow, this_weekday = 0, count;
 
        current_dow = timelib_day_of_week(time->y, time->m, time->d);
-       count = time->special.amount;
+       count = time->relative.special.amount;
        if (count == 0) {
                if (current_dow == 6) {
                        this_weekday = 2;
@@ -233,15 +233,15 @@
 
 static void do_adjust_special(timelib_time* time)
 {
-       if (time->have_special_relative) {
-               switch (time->special.type) {
+       if (time->relative.have_special_relative) {
+               switch (time->relative.special.type) {
                        case TIMELIB_SPECIAL_WEEKDAY:
                                do_adjust_special_weekday(time);
                                break;
                }
        }
        do_normalize(time);
-       memset(&(time->special), 0, sizeof(time->special));
+       memset(&(time->relative.special), 0, sizeof(time->relative.special));
 }
 
 static timelib_sll do_years(timelib_sll year)

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

Reply via email to