|
|
|
|
@@ -1,4 +1,4 @@
|
|
|
|
|
/* Generated by re2c 0.12.1 on Wed Oct 10 12:28:46 2007 */
|
|
|
|
|
/* Generated by re2c 0.13.5 on Wed Jul 2 12:48:53 2008 */
|
|
|
|
|
#line 1 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
/*
|
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
|
@@ -109,7 +109,10 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st
|
|
|
|
|
q = (p = url->c) + url->len;
|
|
|
|
|
|
|
|
|
|
scan:
|
|
|
|
|
|
|
|
|
|
#line 114 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
@@ -145,42 +148,37 @@ scan:
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 149 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy8;
|
|
|
|
|
}
|
|
|
|
|
if(yych <= '9') goto yy6;
|
|
|
|
|
if(yych >= ';') goto yy4;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 116 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ smart_str_append(dest, url); return; }
|
|
|
|
|
#line 163 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy4:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 117 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ sep = separator; goto scan; }
|
|
|
|
|
#line 168 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy6:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 118 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ bash = p - 1; goto done; }
|
|
|
|
|
#line 173 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy8:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy8;
|
|
|
|
|
}
|
|
|
|
|
#line 119 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ goto scan; }
|
|
|
|
|
#line 183 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy8;
|
|
|
|
|
}
|
|
|
|
|
if (yych <= '9') goto yy6;
|
|
|
|
|
if (yych >= ';') goto yy4;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 116 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ smart_str_append(dest, url); return; }
|
|
|
|
|
#line 162 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy4:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 117 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ sep = separator; goto scan; }
|
|
|
|
|
#line 167 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy6:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 118 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ bash = p - 1; goto done; }
|
|
|
|
|
#line 172 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy8:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy8;
|
|
|
|
|
}
|
|
|
|
|
#line 119 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ goto scan; }
|
|
|
|
|
#line 182 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
}
|
|
|
|
|
#line 120 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
@@ -361,7 +359,10 @@ state_plain_begin:
|
|
|
|
|
|
|
|
|
|
state_plain:
|
|
|
|
|
start = YYCURSOR;
|
|
|
|
|
|
|
|
|
|
#line 364 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
@@ -396,37 +397,35 @@ state_plain:
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
128, 128, 128, 128, 128, 128, 128, 128,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 401 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy15;
|
|
|
|
|
}
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 299 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
|
|
|
|
|
#line 412 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy15:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy15;
|
|
|
|
|
}
|
|
|
|
|
#line 300 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_plain; }
|
|
|
|
|
#line 422 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy15;
|
|
|
|
|
}
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 299 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; }
|
|
|
|
|
#line 409 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy15:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy15;
|
|
|
|
|
}
|
|
|
|
|
#line 300 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_plain; }
|
|
|
|
|
#line 419 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
}
|
|
|
|
|
#line 301 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
state_tag:
|
|
|
|
|
start = YYCURSOR;
|
|
|
|
|
|
|
|
|
|
#line 427 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
@@ -461,42 +460,37 @@ state_tag:
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 466 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yych <= '@') {
|
|
|
|
|
if(yych != ':') goto yy22;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= 'Z') goto yy20;
|
|
|
|
|
if(yych <= '`') goto yy22;
|
|
|
|
|
if(yych >= '{') goto yy22;
|
|
|
|
|
}
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yych <= '@') {
|
|
|
|
|
if (yych != ':') goto yy22;
|
|
|
|
|
} else {
|
|
|
|
|
if (yych <= 'Z') goto yy20;
|
|
|
|
|
if (yych <= '`') goto yy22;
|
|
|
|
|
if (yych >= '{') goto yy22;
|
|
|
|
|
}
|
|
|
|
|
yy20:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy25;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy25;
|
|
|
|
|
yy21:
|
|
|
|
|
#line 306 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
|
|
|
|
|
#line 485 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; }
|
|
|
|
|
#line 480 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy22:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 307 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; }
|
|
|
|
|
#line 490 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; }
|
|
|
|
|
#line 485 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy24:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy25:
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy24;
|
|
|
|
|
}
|
|
|
|
|
goto yy21;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy24;
|
|
|
|
|
}
|
|
|
|
|
goto yy21;
|
|
|
|
|
}
|
|
|
|
|
#line 308 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
@@ -506,7 +500,10 @@ state_next_arg_begin:
|
|
|
|
|
|
|
|
|
|
state_next_arg:
|
|
|
|
|
start = YYCURSOR;
|
|
|
|
|
|
|
|
|
|
#line 505 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 128, 128, 128, 0, 128, 0, 0,
|
|
|
|
|
@@ -541,71 +538,69 @@ state_next_arg:
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 546 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yych <= ' ') {
|
|
|
|
|
if(yych <= 0x0C) {
|
|
|
|
|
if(yych <= 0x08) goto yy34;
|
|
|
|
|
if(yych <= 0x0B) goto yy30;
|
|
|
|
|
goto yy34;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= 0x0D) goto yy30;
|
|
|
|
|
if(yych <= 0x1F) goto yy34;
|
|
|
|
|
goto yy30;
|
|
|
|
|
}
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yych <= ' ') {
|
|
|
|
|
if (yych <= '\f') {
|
|
|
|
|
if (yych <= 0x08) goto yy34;
|
|
|
|
|
if (yych <= '\v') goto yy30;
|
|
|
|
|
goto yy34;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= '@') {
|
|
|
|
|
if(yych != '>') goto yy34;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= 'Z') goto yy32;
|
|
|
|
|
if(yych <= '`') goto yy34;
|
|
|
|
|
if(yych <= 'z') goto yy32;
|
|
|
|
|
goto yy34;
|
|
|
|
|
}
|
|
|
|
|
if (yych <= '\r') goto yy30;
|
|
|
|
|
if (yych <= 0x1F) goto yy34;
|
|
|
|
|
goto yy30;
|
|
|
|
|
}
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
} else {
|
|
|
|
|
if (yych <= '@') {
|
|
|
|
|
if (yych != '>') goto yy34;
|
|
|
|
|
} else {
|
|
|
|
|
if (yych <= 'Z') goto yy32;
|
|
|
|
|
if (yych <= '`') goto yy34;
|
|
|
|
|
if (yych <= 'z') goto yy32;
|
|
|
|
|
goto yy34;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 316 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
|
|
|
|
|
#line 574 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; }
|
|
|
|
|
#line 567 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy30:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy37;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy37;
|
|
|
|
|
yy31:
|
|
|
|
|
#line 317 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_next_arg; }
|
|
|
|
|
#line 582 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_next_arg; }
|
|
|
|
|
#line 575 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy32:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 318 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
|
|
|
|
|
#line 587 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ --YYCURSOR; STATE = STATE_ARG; goto state_arg; }
|
|
|
|
|
#line 580 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy34:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 319 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; }
|
|
|
|
|
#line 592 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_plain_begin; }
|
|
|
|
|
#line 585 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy36:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy37:
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy36;
|
|
|
|
|
}
|
|
|
|
|
goto yy31;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy36;
|
|
|
|
|
}
|
|
|
|
|
goto yy31;
|
|
|
|
|
}
|
|
|
|
|
#line 320 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
state_arg:
|
|
|
|
|
start = YYCURSOR;
|
|
|
|
|
|
|
|
|
|
#line 602 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
@@ -640,46 +635,44 @@ state_arg:
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 645 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yych <= '@') goto yy42;
|
|
|
|
|
if(yych <= 'Z') goto yy40;
|
|
|
|
|
if(yych <= '`') goto yy42;
|
|
|
|
|
if(yych >= '{') goto yy42;
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yych <= '@') goto yy42;
|
|
|
|
|
if (yych <= 'Z') goto yy40;
|
|
|
|
|
if (yych <= '`') goto yy42;
|
|
|
|
|
if (yych >= '{') goto yy42;
|
|
|
|
|
yy40:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy45;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy45;
|
|
|
|
|
yy41:
|
|
|
|
|
#line 325 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; }
|
|
|
|
|
#line 661 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; }
|
|
|
|
|
#line 652 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy42:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 326 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
|
|
|
|
|
#line 666 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; }
|
|
|
|
|
#line 657 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy44:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy45:
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy44;
|
|
|
|
|
}
|
|
|
|
|
goto yy41;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy44;
|
|
|
|
|
}
|
|
|
|
|
goto yy41;
|
|
|
|
|
}
|
|
|
|
|
#line 327 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
state_before_val:
|
|
|
|
|
start = YYCURSOR;
|
|
|
|
|
|
|
|
|
|
#line 674 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
@@ -714,52 +707,47 @@ state_before_val:
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 719 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yych == ' ') goto yy48;
|
|
|
|
|
if(yych == '=') goto yy50;
|
|
|
|
|
goto yy52;
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yych == ' ') goto yy48;
|
|
|
|
|
if (yych == '=') goto yy50;
|
|
|
|
|
goto yy52;
|
|
|
|
|
yy48:
|
|
|
|
|
yych = *(YYMARKER = ++YYCURSOR);
|
|
|
|
|
if(yych == ' ') goto yy55;
|
|
|
|
|
if(yych == '=') goto yy53;
|
|
|
|
|
yych = *(YYMARKER = ++YYCURSOR);
|
|
|
|
|
if (yych == ' ') goto yy55;
|
|
|
|
|
if (yych == '=') goto yy53;
|
|
|
|
|
yy49:
|
|
|
|
|
#line 333 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ --YYCURSOR; goto state_next_arg_begin; }
|
|
|
|
|
#line 734 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ --YYCURSOR; goto state_next_arg_begin; }
|
|
|
|
|
#line 723 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy50:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy54;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy54;
|
|
|
|
|
yy51:
|
|
|
|
|
#line 332 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
|
|
|
|
|
#line 742 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; }
|
|
|
|
|
#line 731 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy52:
|
|
|
|
|
yych = *++YYCURSOR;
|
|
|
|
|
goto yy49;
|
|
|
|
|
yych = *++YYCURSOR;
|
|
|
|
|
goto yy49;
|
|
|
|
|
yy53:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy54:
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy53;
|
|
|
|
|
}
|
|
|
|
|
goto yy51;
|
|
|
|
|
yy55:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yych == ' ') goto yy55;
|
|
|
|
|
if(yych == '=') goto yy53;
|
|
|
|
|
YYCURSOR = YYMARKER;
|
|
|
|
|
goto yy49;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy53;
|
|
|
|
|
}
|
|
|
|
|
goto yy51;
|
|
|
|
|
yy55:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yych == ' ') goto yy55;
|
|
|
|
|
if (yych == '=') goto yy53;
|
|
|
|
|
YYCURSOR = YYMARKER;
|
|
|
|
|
goto yy49;
|
|
|
|
|
}
|
|
|
|
|
#line 334 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
@@ -767,7 +755,10 @@ yy55:
|
|
|
|
|
|
|
|
|
|
state_val:
|
|
|
|
|
start = YYCURSOR;
|
|
|
|
|
|
|
|
|
|
#line 760 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
static const unsigned char yybm[] = {
|
|
|
|
|
248, 248, 248, 248, 248, 248, 248, 248,
|
|
|
|
|
248, 160, 160, 248, 248, 160, 248, 248,
|
|
|
|
|
@@ -802,119 +793,114 @@ state_val:
|
|
|
|
|
248, 248, 248, 248, 248, 248, 248, 248,
|
|
|
|
|
248, 248, 248, 248, 248, 248, 248, 248,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#line 807 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{
|
|
|
|
|
YYCTYPE yych;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yych <= ' ') {
|
|
|
|
|
if(yych <= 0x0C) {
|
|
|
|
|
if(yych <= 0x08) goto yy63;
|
|
|
|
|
if(yych <= 0x0A) goto yy64;
|
|
|
|
|
goto yy63;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= 0x0D) goto yy64;
|
|
|
|
|
if(yych <= 0x1F) goto yy63;
|
|
|
|
|
goto yy64;
|
|
|
|
|
}
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yych <= ' ') {
|
|
|
|
|
if (yych <= '\f') {
|
|
|
|
|
if (yych <= 0x08) goto yy63;
|
|
|
|
|
if (yych <= '\n') goto yy64;
|
|
|
|
|
goto yy63;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= '&') {
|
|
|
|
|
if(yych != '"') goto yy63;
|
|
|
|
|
} else {
|
|
|
|
|
if(yych <= '\'') goto yy62;
|
|
|
|
|
if(yych == '>') goto yy64;
|
|
|
|
|
goto yy63;
|
|
|
|
|
}
|
|
|
|
|
if (yych <= '\r') goto yy64;
|
|
|
|
|
if (yych <= 0x1F) goto yy63;
|
|
|
|
|
goto yy64;
|
|
|
|
|
}
|
|
|
|
|
yych = *(YYMARKER = ++YYCURSOR);
|
|
|
|
|
goto yy77;
|
|
|
|
|
} else {
|
|
|
|
|
if (yych <= '&') {
|
|
|
|
|
if (yych != '"') goto yy63;
|
|
|
|
|
} else {
|
|
|
|
|
if (yych <= '\'') goto yy62;
|
|
|
|
|
if (yych == '>') goto yy64;
|
|
|
|
|
goto yy63;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
yych = *(YYMARKER = ++YYCURSOR);
|
|
|
|
|
goto yy77;
|
|
|
|
|
yy61:
|
|
|
|
|
#line 342 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
|
|
|
|
|
#line 836 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; }
|
|
|
|
|
#line 823 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy62:
|
|
|
|
|
yych = *(YYMARKER = ++YYCURSOR);
|
|
|
|
|
goto yy69;
|
|
|
|
|
yych = *(YYMARKER = ++YYCURSOR);
|
|
|
|
|
goto yy69;
|
|
|
|
|
yy63:
|
|
|
|
|
yych = *++YYCURSOR;
|
|
|
|
|
goto yy67;
|
|
|
|
|
yych = *++YYCURSOR;
|
|
|
|
|
goto yy67;
|
|
|
|
|
yy64:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
#line 343 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_next_arg_begin; }
|
|
|
|
|
#line 847 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ passthru(STD_ARGS); goto state_next_arg_begin; }
|
|
|
|
|
#line 834 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy66:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy67:
|
|
|
|
|
if(yybm[0+yych] & 8) {
|
|
|
|
|
goto yy66;
|
|
|
|
|
}
|
|
|
|
|
goto yy61;
|
|
|
|
|
if (yybm[0+yych] & 8) {
|
|
|
|
|
goto yy66;
|
|
|
|
|
}
|
|
|
|
|
goto yy61;
|
|
|
|
|
yy68:
|
|
|
|
|
YYMARKER = ++YYCURSOR;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
YYMARKER = ++YYCURSOR;
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy69:
|
|
|
|
|
if(yybm[0+yych] & 16) {
|
|
|
|
|
goto yy68;
|
|
|
|
|
}
|
|
|
|
|
if(yych <= '&') goto yy72;
|
|
|
|
|
if(yych >= '(') goto yy61;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(yybm[0+(yych = *YYCURSOR)] & 8) {
|
|
|
|
|
goto yy66;
|
|
|
|
|
}
|
|
|
|
|
if (yybm[0+yych] & 16) {
|
|
|
|
|
goto yy68;
|
|
|
|
|
}
|
|
|
|
|
if (yych <= '&') goto yy72;
|
|
|
|
|
if (yych >= '(') goto yy61;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (yybm[0+(yych = *YYCURSOR)] & 8) {
|
|
|
|
|
goto yy66;
|
|
|
|
|
}
|
|
|
|
|
yy71:
|
|
|
|
|
#line 341 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
|
|
|
|
|
#line 874 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; }
|
|
|
|
|
#line 861 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy72:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yybm[0+yych] & 32) {
|
|
|
|
|
goto yy72;
|
|
|
|
|
}
|
|
|
|
|
if(yych <= '=') goto yy75;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yybm[0+yych] & 32) {
|
|
|
|
|
goto yy72;
|
|
|
|
|
}
|
|
|
|
|
if (yych <= '=') goto yy75;
|
|
|
|
|
yy74:
|
|
|
|
|
YYCURSOR = YYMARKER;
|
|
|
|
|
goto yy61;
|
|
|
|
|
YYCURSOR = YYMARKER;
|
|
|
|
|
goto yy61;
|
|
|
|
|
yy75:
|
|
|
|
|
yych = *++YYCURSOR;
|
|
|
|
|
goto yy71;
|
|
|
|
|
yych = *++YYCURSOR;
|
|
|
|
|
goto yy71;
|
|
|
|
|
yy76:
|
|
|
|
|
YYMARKER = ++YYCURSOR;
|
|
|
|
|
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
YYMARKER = ++YYCURSOR;
|
|
|
|
|
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
yy77:
|
|
|
|
|
if(yybm[0+yych] & 64) {
|
|
|
|
|
goto yy76;
|
|
|
|
|
}
|
|
|
|
|
if(yych <= '!') goto yy80;
|
|
|
|
|
if(yych >= '#') goto yy61;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(yybm[0+(yych = *YYCURSOR)] & 8) {
|
|
|
|
|
goto yy66;
|
|
|
|
|
}
|
|
|
|
|
if (yybm[0+yych] & 64) {
|
|
|
|
|
goto yy76;
|
|
|
|
|
}
|
|
|
|
|
if (yych <= '!') goto yy80;
|
|
|
|
|
if (yych >= '#') goto yy61;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (yybm[0+(yych = *YYCURSOR)] & 8) {
|
|
|
|
|
goto yy66;
|
|
|
|
|
}
|
|
|
|
|
yy79:
|
|
|
|
|
#line 340 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
|
|
|
|
|
#line 906 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
{ handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; }
|
|
|
|
|
#line 893 "ext/standard/url_scanner_ex.c"
|
|
|
|
|
yy80:
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if(yybm[0+yych] & 128) {
|
|
|
|
|
goto yy80;
|
|
|
|
|
}
|
|
|
|
|
if(yych >= '>') goto yy74;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy79;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
if (YYLIMIT <= YYCURSOR) YYFILL(1);
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
if (yybm[0+yych] & 128) {
|
|
|
|
|
goto yy80;
|
|
|
|
|
}
|
|
|
|
|
if (yych >= '>') goto yy74;
|
|
|
|
|
++YYCURSOR;
|
|
|
|
|
yych = *YYCURSOR;
|
|
|
|
|
goto yy79;
|
|
|
|
|
}
|
|
|
|
|
#line 344 "ext/standard/url_scanner_ex.re"
|
|
|
|
|
|
|
|
|
|
|