jani Wed Oct 10 09:27:13 2007 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard url_scanner_ex.c Log: - Generated with a bit more recent re2c version
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/url_scanner_ex.c?r1=1.95.2.4.2.3.2.1&r2=1.95.2.4.2.3.2.2&diff_format=u Index: php-src/ext/standard/url_scanner_ex.c diff -u php-src/ext/standard/url_scanner_ex.c:1.95.2.4.2.3.2.1 php-src/ext/standard/url_scanner_ex.c:1.95.2.4.2.3.2.2 --- php-src/ext/standard/url_scanner_ex.c:1.95.2.4.2.3.2.1 Wed Oct 10 00:34:40 2007 +++ php-src/ext/standard/url_scanner_ex.c Wed Oct 10 09:27:13 2007 @@ -1,4 +1,4 @@ -/* Generated by re2c 0.11.0 on Tue Oct 9 20:28:45 2007 */ +/* Generated by re2c 0.12.1 on Wed Oct 10 12:26:17 2007 */ #line 1 "ext/standard/url_scanner_ex.re" /* +----------------------------------------------------------------------+ @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: url_scanner_ex.c,v 1.95.2.4.2.3.2.1 2007/10/10 00:34:40 iliaa Exp $ */ +/* $Id: url_scanner_ex.c,v 1.95.2.4.2.3.2.2 2007/10/10 09:27:13 jani Exp $ */ #include "php.h" @@ -109,48 +109,78 @@ q = (p = url->c) + url->len; scan: - -#line 114 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych) { - case '#': goto yy6; - case ':': goto yy2; - case '?': goto yy4; - default: goto yy8; - } -yy2: - ++YYCURSOR; + static const unsigned char yybm[] = { + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 128, 128, 128, 128, 0, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 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 130 "ext/standard/url_scanner_ex.c" + { smart_str_append(dest, url); return; } +#line 163 "ext/standard/url_scanner_ex.c" yy4: - ++YYCURSOR; + ++YYCURSOR; #line 117 "ext/standard/url_scanner_ex.re" - { sep = separator; goto scan; } -#line 135 "ext/standard/url_scanner_ex.c" + { sep = separator; goto scan; } +#line 168 "ext/standard/url_scanner_ex.c" yy6: - ++YYCURSOR; + ++YYCURSOR; #line 118 "ext/standard/url_scanner_ex.re" - { bash = p - 1; goto done; } -#line 140 "ext/standard/url_scanner_ex.c" + { bash = p - 1; goto done; } +#line 173 "ext/standard/url_scanner_ex.c" yy8: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych) { - case '#': - case ':': - case '?': goto yy10; - default: goto yy8; - } -yy10: + ++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 154 "ext/standard/url_scanner_ex.c" + { goto scan; } +#line 183 "ext/standard/url_scanner_ex.c" + } } #line 120 "ext/standard/url_scanner_ex.re" @@ -331,174 +361,141 @@ state_plain: start = YYCURSOR; - -#line 336 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych) { - case '<': goto yy13; - default: goto yy15; - } -yy13: - ++YYCURSOR; + static const unsigned char yybm[] = { + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 0, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 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 349 "ext/standard/url_scanner_ex.c" + { 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; - switch(yych) { - case '<': goto yy17; - default: goto yy15; - } -yy17: + ++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 361 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_plain; } +#line 422 "ext/standard/url_scanner_ex.c" + } } #line 301 "ext/standard/url_scanner_ex.re" state_tag: start = YYCURSOR; - -#line 369 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych) { - case ':': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy20; - default: goto yy22; - } + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 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; + } 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 437 "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 485 "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 442 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_plain_begin; } +#line 490 "ext/standard/url_scanner_ex.c" yy24: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy25: - switch(yych) { - case ':': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy24; - default: goto yy21; + if(yybm[0+yych] & 128) { + goto yy24; + } + goto yy21; } } #line 308 "ext/standard/url_scanner_ex.re" @@ -509,108 +506,98 @@ state_next_arg: start = YYCURSOR; - -#line 514 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych) { - case 0x09: - case 0x0A: - case 0x0B: - case 0x0D: - case ' ': goto yy30; - case '>': goto yy28; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy32; - default: goto yy34; - } -yy28: - ++YYCURSOR; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 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; + } + } 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 584 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } +#line 574 "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 592 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_next_arg; } +#line 582 "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 597 "ext/standard/url_scanner_ex.c" + { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } +#line 587 "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 602 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_plain_begin; } +#line 592 "ext/standard/url_scanner_ex.c" yy36: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy37: - switch(yych) { - case 0x09: - case 0x0A: - case 0x0B: - case 0x0D: - case ' ': goto yy36; - default: goto yy31; + if(yybm[0+yych] & 128) { + goto yy36; + } + goto yy31; } } #line 320 "ext/standard/url_scanner_ex.re" @@ -618,140 +605,73 @@ state_arg: start = YYCURSOR; - -#line 623 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy40; - default: goto yy42; - } + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 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; 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 690 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } +#line 661 "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 695 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } +#line 666 "ext/standard/url_scanner_ex.c" yy44: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy45: - switch(yych) { - case '-': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy44; - default: goto yy41; + if(yybm[0+yych] & 128) { + goto yy44; + } + goto yy41; } } #line 327 "ext/standard/url_scanner_ex.re" @@ -759,60 +679,87 @@ state_before_val: start = YYCURSOR; - -#line 764 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - switch(yych) { - case ' ': goto yy48; - case '=': goto yy50; - default: goto yy52; - } + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 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; yy48: - yych = *(YYMARKER = ++YYCURSOR); - switch(yych) { - case ' ': goto yy55; - case '=': goto yy53; - default: goto yy49; - } + 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 784 "ext/standard/url_scanner_ex.c" + { --YYCURSOR; goto state_next_arg_begin; } +#line 734 "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 792 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } +#line 742 "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: - switch(yych) { - case ' ': goto yy53; - default: goto yy51; - } + if(yybm[0+yych] & 128) { + goto yy53; + } + goto yy51; yy55: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych) { - case ' ': goto yy55; - case '=': goto yy53; - default: goto yy57; + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych == ' ') goto yy55; + if(yych == '=') goto yy53; + YYCURSOR = YYMARKER; + goto yy49; } -yy57: - YYCURSOR = YYMARKER; - goto yy49; } #line 334 "ext/standard/url_scanner_ex.re" @@ -820,137 +767,154 @@ state_val: start = YYCURSOR; - -#line 825 "ext/standard/url_scanner_ex.c" { - YYCTYPE yych; - if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); - yych = *YYCURSOR; - switch(yych) { - case 0x09: - case 0x0A: - case 0x0D: - case ' ': - case '>': goto yy64; - case '"': goto yy60; - case '\'': goto yy62; - default: goto yy63; - } -yy60: - yych = *(YYMARKER = ++YYCURSOR); - goto yy77; + static const unsigned char yybm[] = { + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 160, 160, 248, 248, 160, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 160, 248, 56, 248, 248, 248, 248, 200, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 0, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, + 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; + } + } 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 846 "ext/standard/url_scanner_ex.c" + { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } +#line 836 "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 857 "ext/standard/url_scanner_ex.c" + { passthru(STD_ARGS); goto state_next_arg_begin; } +#line 847 "ext/standard/url_scanner_ex.c" yy66: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; yy67: - switch(yych) { - case 0x09: - case 0x0A: - case 0x0D: - case ' ': - case '>': goto yy61; - default: goto yy66; - } + 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: - switch(yych) { - case 0x09: - case 0x0A: - case 0x0D: - case ' ': goto yy72; - case '\'': goto yy70; - case '>': goto yy61; - default: goto yy68; - } -yy70: - ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x09: - case 0x0A: - case 0x0D: - case ' ': - case '>': goto yy71; - default: 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 898 "ext/standard/url_scanner_ex.c" + { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } +#line 874 "ext/standard/url_scanner_ex.c" yy72: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych) { - case '\'': goto yy75; - case '>': goto yy74; - default: goto yy72; - } + ++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: - switch(yych) { - case 0x09: - case 0x0A: - case 0x0D: - case ' ': goto yy80; - case '"': goto yy78; - case '>': goto yy61; - default: goto yy76; - } -yy78: - ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 0x09: - case 0x0A: - case 0x0D: - case ' ': - case '>': goto yy79; - default: 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 941 "ext/standard/url_scanner_ex.c" + { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } +#line 906 "ext/standard/url_scanner_ex.c" yy80: - ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych) { - case '"': goto yy82; - case '>': goto yy74; - default: goto 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; } -yy82: - ++YYCURSOR; - yych = *YYCURSOR; - goto yy79; } #line 344 "ext/standard/url_scanner_ex.re"
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php