diff options
Diffstat (limited to 'ext/standard/url_scanner_ex.c')
-rw-r--r-- | ext/standard/url_scanner_ex.c | 480 |
1 files changed, 233 insertions, 247 deletions
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c index 9edf4c2f9..80a5725d0 100644 --- a/ext/standard/url_scanner_ex.c +++ b/ext/standard/url_scanner_ex.c @@ -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 */ /* +----------------------------------------------------------------------+ | PHP Version 5 | @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: url_scanner_ex.c,v 1.95.2.4.2.6 2008/03/12 11:27:42 felipe Exp $ */ +/* $Id: url_scanner_ex.c,v 1.95.2.4.2.7 2008/07/16 14:10:50 jani Exp $ */ #include "php.h" @@ -107,7 +107,9 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st q = (p = url->c) + url->len; scan: + { + YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, @@ -143,33 +145,29 @@ scan: 128, 128, 128, 128, 128, 128, 128, 128, }; - { - 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; - { smart_str_append(dest, url); return; } + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy8; + } + if (yych <= '9') goto yy6; + if (yych >= ';') goto yy4; + ++YYCURSOR; + { smart_str_append(dest, url); return; } yy4: - ++YYCURSOR; - { sep = separator; goto scan; } + ++YYCURSOR; + { sep = separator; goto scan; } yy6: - ++YYCURSOR; - { bash = p - 1; goto done; } + ++YYCURSOR; + { bash = p - 1; goto done; } yy8: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy8; - } - { goto scan; } + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy8; } + { goto scan; } } done: @@ -349,7 +347,9 @@ state_plain_begin: state_plain: start = YYCURSOR; + { + YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, @@ -384,31 +384,29 @@ state_plain: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - - { - YYCTYPE yych; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy15; - } - ++YYCURSOR; - { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy15; + } + ++YYCURSOR; + { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } yy15: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if(yybm[0+yych] & 128) { - goto yy15; - } - { passthru(STD_ARGS); goto state_plain; } + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy15; } + { passthru(STD_ARGS); goto state_plain; } } state_tag: start = YYCURSOR; + { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -443,37 +441,33 @@ state_tag: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - - { - 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: - { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } + { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } yy22: - ++YYCURSOR; - { passthru(STD_ARGS); goto state_plain_begin; } + ++YYCURSOR; + { passthru(STD_ARGS); goto state_plain_begin; } 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; } @@ -482,7 +476,9 @@ state_next_arg_begin: state_next_arg: start = YYCURSOR; + { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 0, 0, @@ -517,61 +513,59 @@ state_next_arg: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - - { - 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; - { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } + } 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; + { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } yy30: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy37; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy37; yy31: - { passthru(STD_ARGS); goto state_next_arg; } + { passthru(STD_ARGS); goto state_next_arg; } yy32: - ++YYCURSOR; - { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } + ++YYCURSOR; + { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } yy34: - ++YYCURSOR; - { passthru(STD_ARGS); goto state_plain_begin; } + ++YYCURSOR; + { passthru(STD_ARGS); goto state_plain_begin; } 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; } state_arg: start = YYCURSOR; + { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -606,40 +600,38 @@ state_arg: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - - { - 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: - { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } + { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } yy42: - ++YYCURSOR; - { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } + ++YYCURSOR; + { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } 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; } state_before_val: start = YYCURSOR; + { + YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -674,54 +666,52 @@ state_before_val: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - - { - 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: - { --YYCURSOR; goto state_next_arg_begin; } + { --YYCURSOR; goto state_next_arg_begin; } yy50: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy54; + ++YYCURSOR; + yych = *YYCURSOR; + goto yy54; yy51: - { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } + { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } 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; } state_val: start = YYCURSOR; + { + YYCTYPE yych; static const unsigned char yybm[] = { 248, 248, 248, 248, 248, 248, 248, 248, 248, 160, 160, 248, 248, 160, 248, 248, @@ -756,110 +746,106 @@ state_val: 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, }; - - { - 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 <= '\r') goto yy64; + if (yych <= 0x1F) goto yy63; + goto yy64; + } + } else { + if (yych <= '&') { + if (yych != '"') goto yy63; } else { - if(yych <= '&') { - if(yych != '"') goto yy63; - } else { - if(yych <= '\'') goto yy62; - if(yych == '>') goto yy64; - goto yy63; - } + if (yych <= '\'') goto yy62; + if (yych == '>') goto yy64; + goto yy63; } - yych = *(YYMARKER = ++YYCURSOR); - goto yy77; + } + yych = *(YYMARKER = ++YYCURSOR); + goto yy77; yy61: - { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } + { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } yy62: - yych = *(YYMARKER = ++YYCURSOR); - goto yy69; + yych = *(YYMARKER = ++YYCURSOR); + goto yy69; yy63: - yych = *++YYCURSOR; - goto yy67; + yych = *++YYCURSOR; + goto yy67; yy64: - ++YYCURSOR; - { passthru(STD_ARGS); goto state_next_arg_begin; } + ++YYCURSOR; + { passthru(STD_ARGS); goto state_next_arg_begin; } 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: - { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } + { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } 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: - { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } + { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } 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; } |