Browse Source

- Fixed bug #48149 (Cannot make interval parts larger than 9999) by

regenerating the parser.
experimental/5.3-FPM
Derick Rethans 17 years ago
parent
commit
f2ef1dec3c
  1. 46
      ext/date/lib/parse_iso_intervals.c

46
ext/date/lib/parse_iso_intervals.c

@ -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"
/*
+----------------------------------------------------------------------+
@ -270,6 +270,11 @@ static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_
} \
}
/* 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 @@ static int scan(Scanner *s)
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 @@ std:
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 @@ yy5:
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 @@ yy6:
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 @@ yy6:
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 @@ yy51:
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 @@ yy51:
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 @@ yy83:
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 @@ yy83:
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 @@ yy98:
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 @@ yy100:
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

Loading…
Cancel
Save