derick          Tue May  5 07:45:18 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/date/lib       parse_iso_intervals.c 
  Log:
  - Fixed bug #48149 (Cannot make interval parts larger than 9999) by
    regenerating the parser.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/parse_iso_intervals.c?r1=1.1.2.6&r2=1.1.2.7&diff_format=u
Index: php-src/ext/date/lib/parse_iso_intervals.c
diff -u php-src/ext/date/lib/parse_iso_intervals.c:1.1.2.6 
php-src/ext/date/lib/parse_iso_intervals.c:1.1.2.7
--- php-src/ext/date/lib/parse_iso_intervals.c:1.1.2.6  Sat Aug  2 13:50:52 2008
+++ php-src/ext/date/lib/parse_iso_intervals.c  Tue May  5 07:45:18 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sat Aug  2 12:46:48 2008 */
+/* Generated by re2c 0.13.5 on Tue May  5 09:42:15 2009 */
 #line 1 "ext/date/lib/parse_iso_intervals.re"
 /*
    +----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: parse_iso_intervals.c,v 1.1.2.6 2008/08/02 13:50:52 derick Exp $ */
+/* $Id: parse_iso_intervals.c,v 1.1.2.7 2009/05/05 07:45:18 derick Exp $ */
 
 #include "timelib.h"
 
@@ -270,6 +270,11 @@
        }                              \
 }
 
+/* date parser's scan function too large for VC6 - VC7.x
+   drop the optimization solves the problem */
+#ifdef PHP_WIN32
+#pragma optimize( "", off )
+#endif
 static int scan(Scanner *s)
 {
        uchar *cursor = s->cur;
@@ -278,11 +283,11 @@
 std:
        s->tok = cursor;
        s->len = 0;
-#line 306 "ext/date/lib/parse_iso_intervals.re"
+#line 311 "ext/date/lib/parse_iso_intervals.re"
 
 
 
-#line 286 "ext/date/lib/parse_iso_intervals.c"
+#line 291 "ext/date/lib/parse_iso_intervals.c"
 {
        YYCTYPE yych;
        unsigned int yyaccept = 0;
@@ -352,12 +357,12 @@
        if (yych <= '9') goto yy98;
 yy3:
        YYDEBUG(3, *YYCURSOR);
-#line 419 "ext/date/lib/parse_iso_intervals.re"
+#line 424 "ext/date/lib/parse_iso_intervals.re"
        {
                add_error(s, "Unexpected character");
                goto std;
        }
-#line 361 "ext/date/lib/parse_iso_intervals.c"
+#line 366 "ext/date/lib/parse_iso_intervals.c"
 yy4:
        YYDEBUG(4, *YYCURSOR);
        yyaccept = 0;
@@ -374,7 +379,7 @@
        if (yych == 'T') goto yy14;
 yy6:
        YYDEBUG(6, *YYCURSOR);
-#line 346 "ext/date/lib/parse_iso_intervals.re"
+#line 351 "ext/date/lib/parse_iso_intervals.re"
        {
                timelib_sll nr;
                int         in_time = 0;
@@ -391,7 +396,7 @@
                                break;
                        }
 
-                       nr = timelib_get_unsigned_nr((char **) &ptr, 4);
+                       nr = timelib_get_unsigned_nr((char **) &ptr, 9);
                        switch (*ptr) {
                                case 'Y': s->period->y = nr; break;
                                case 'W': s->period->d = nr * 7; break;
@@ -415,26 +420,26 @@
                TIMELIB_DEINIT;
                return TIMELIB_PERIOD;
        }
-#line 419 "ext/date/lib/parse_iso_intervals.c"
+#line 424 "ext/date/lib/parse_iso_intervals.c"
 yy7:
        YYDEBUG(7, *YYCURSOR);
        ++YYCURSOR;
        YYDEBUG(8, *YYCURSOR);
-#line 408 "ext/date/lib/parse_iso_intervals.re"
+#line 413 "ext/date/lib/parse_iso_intervals.re"
        {
                goto std;
        }
-#line 428 "ext/date/lib/parse_iso_intervals.c"
+#line 433 "ext/date/lib/parse_iso_intervals.c"
 yy9:
        YYDEBUG(9, *YYCURSOR);
        ++YYCURSOR;
        YYDEBUG(10, *YYCURSOR);
-#line 413 "ext/date/lib/parse_iso_intervals.re"
+#line 418 "ext/date/lib/parse_iso_intervals.re"
        {
                s->pos = cursor; s->line++;
                goto std;
        }
-#line 438 "ext/date/lib/parse_iso_intervals.c"
+#line 443 "ext/date/lib/parse_iso_intervals.c"
 yy11:
        YYDEBUG(11, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -764,7 +769,7 @@
        YYDEBUG(57, *YYCURSOR);
        ++YYCURSOR;
        YYDEBUG(58, *YYCURSOR);
-#line 388 "ext/date/lib/parse_iso_intervals.re"
+#line 393 "ext/date/lib/parse_iso_intervals.re"
        {
                DEBUG_OUTPUT("combinedrep");
                TIMELIB_INIT;
@@ -783,7 +788,7 @@
                TIMELIB_DEINIT;
                return TIMELIB_PERIOD;
        }
-#line 787 "ext/date/lib/parse_iso_intervals.c"
+#line 792 "ext/date/lib/parse_iso_intervals.c"
 yy59:
        YYDEBUG(59, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -912,7 +917,7 @@
        YYDEBUG(83, *YYCURSOR);
        ++YYCURSOR;
        YYDEBUG(84, *YYCURSOR);
-#line 322 "ext/date/lib/parse_iso_intervals.re"
+#line 327 "ext/date/lib/parse_iso_intervals.re"
        {
                timelib_time *current;
 
@@ -935,7 +940,7 @@
                TIMELIB_DEINIT;
                return TIMELIB_ISO_DATE;
        }
-#line 939 "ext/date/lib/parse_iso_intervals.c"
+#line 944 "ext/date/lib/parse_iso_intervals.c"
 yy85:
        YYDEBUG(85, *YYCURSOR);
        yych = *++YYCURSOR;
@@ -1013,7 +1018,7 @@
        if (yych <= '9') goto yy98;
 yy100:
        YYDEBUG(100, *YYCURSOR);
-#line 311 "ext/date/lib/parse_iso_intervals.re"
+#line 316 "ext/date/lib/parse_iso_intervals.re"
        {
                DEBUG_OUTPUT("recurrences");
                TIMELIB_INIT;
@@ -1023,11 +1028,14 @@
                s->have_recurrences = 1;
                return TIMELIB_PERIOD;
        }
-#line 1027 "ext/date/lib/parse_iso_intervals.c"
+#line 1032 "ext/date/lib/parse_iso_intervals.c"
 }
-#line 423 "ext/date/lib/parse_iso_intervals.re"
+#line 428 "ext/date/lib/parse_iso_intervals.re"
 
 }
+#ifdef PHP_WIN32
+#pragma optimize( "", on )
+#endif
 
 #define YYMAXFILL 20
 



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

Reply via email to