From 5450a0dcd12ac95f782ab7ccf174ed1dd301bc3b Mon Sep 17 00:00:00 2001 From: foobar Date: Thu, 14 Apr 2005 22:40:28 +0000 Subject: [PATCH] - Regenerated with re2c 0.9.6 (fixes severe bugs) --- ext/standard/url_scanner_ex.c | 136 +++++++++++++++++++------------- ext/standard/var_unserializer.c | 50 ++++++------ 2 files changed, 111 insertions(+), 75 deletions(-) diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c index c7e702711a..80d30531ee 100644 --- a/ext/standard/url_scanner_ex.c +++ b/ext/standard/url_scanner_ex.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.4 on Mon Apr 4 22:38:22 2005 */ +/* Generated by re2c 0.9.6 on Fri Apr 15 01:39:15 2005 */ #line 1 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" /* +----------------------------------------------------------------------+ @@ -147,11 +147,13 @@ scan: 128, 128, 128, 128, 128, 128, 128, 128, }; goto yy0; -yy1: ++YYCURSOR; + ++YYCURSOR; yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yybm[0+yych] & 128) goto yy8; + if(yybm[0+yych] & 128) { + goto yy8; + } if(yych <= '9') goto yy6; if(yych >= ';') goto yy4; goto yy2; @@ -160,29 +162,31 @@ yy2: ++YYCURSOR; yy3: #line 113 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { smart_str_append(dest, url); return; } -#line 59 "" +#line 61 "" yy4: ++YYCURSOR; goto yy5; yy5: #line 114 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { sep = separator; goto scan; } -#line 65 "" +#line 67 "" yy6: ++YYCURSOR; goto yy7; yy7: #line 115 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { bash = p - 1; goto done; } -#line 71 "" +#line 73 "" yy8: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy9; -yy9: if(yybm[0+yych] & 128) goto yy8; +yy9: if(yybm[0+yych] & 128) { + goto yy8; + } goto yy10; yy10: #line 116 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { goto scan; } -#line 82 "" +#line 86 "" } #line 117 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" @@ -353,7 +357,7 @@ state_plain_begin: state_plain: start = YYCURSOR; -#line 86 "" +#line 90 "" { YYCTYPE yych; unsigned int yyaccept; @@ -392,28 +396,32 @@ state_plain: 128, 128, 128, 128, 128, 128, 128, 128, }; goto yy11; -yy12: ++YYCURSOR; + ++YYCURSOR; yy11: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yybm[0+yych] & 128) goto yy15; + if(yybm[0+yych] & 128) { + goto yy15; + } goto yy13; yy13: ++YYCURSOR; goto yy14; yy14: #line 285 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } -#line 136 "" +#line 142 "" yy15: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy16; -yy16: if(yybm[0+yych] & 128) goto yy15; +yy16: if(yybm[0+yych] & 128) { + goto yy15; + } goto yy17; yy17: #line 286 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain; } -#line 147 "" +#line 155 "" } #line 287 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" @@ -421,7 +429,7 @@ yy17: state_tag: start = YYCURSOR; -#line 151 "" +#line 159 "" { YYCTYPE yych; unsigned int yyaccept; @@ -460,7 +468,7 @@ state_tag: 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy18; -yy19: ++YYCURSOR; + ++YYCURSOR; yy18: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -475,18 +483,20 @@ yy20: ++YYCURSOR; yy21: #line 292 "/usr/src/php/php_5_0/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 204 "" +#line 212 "" yy22: ++YYCURSOR; goto yy23; yy23: #line 293 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain_begin; } -#line 210 "" +#line 218 "" yy24: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy25; -yy25: if(yybm[0+yych] & 128) goto yy24; +yy25: if(yybm[0+yych] & 128) { + goto yy24; + } goto yy21; } #line 294 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" @@ -498,7 +508,7 @@ state_next_arg_begin: state_next_arg: start = YYCURSOR; -#line 221 "" +#line 231 "" { YYCTYPE yych; unsigned int yyaccept; @@ -537,7 +547,7 @@ state_next_arg: 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy26; -yy27: ++YYCURSOR; + ++YYCURSOR; yy26: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -565,31 +575,33 @@ yy28: ++YYCURSOR; yy29: #line 302 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } -#line 288 "" +#line 298 "" yy30: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy31: #line 303 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_next_arg; } -#line 294 "" +#line 304 "" yy32: ++YYCURSOR; goto yy33; yy33: #line 304 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } -#line 300 "" +#line 310 "" yy34: ++YYCURSOR; goto yy35; yy35: #line 305 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain_begin; } -#line 306 "" +#line 316 "" yy36: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy37; -yy37: if(yybm[0+yych] & 128) goto yy36; +yy37: if(yybm[0+yych] & 128) { + goto yy36; + } goto yy31; } #line 306 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" @@ -598,7 +610,7 @@ yy37: if(yybm[0+yych] & 128) goto yy36; state_arg: start = YYCURSOR; -#line 317 "" +#line 329 "" { YYCTYPE yych; unsigned int yyaccept; @@ -637,7 +649,7 @@ state_arg: 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy38; -yy39: ++YYCURSOR; + ++YYCURSOR; yy38: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -652,18 +664,20 @@ yy40: ++YYCURSOR; yy41: #line 311 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } -#line 370 "" +#line 382 "" yy42: ++YYCURSOR; goto yy43; yy43: #line 312 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } -#line 376 "" +#line 388 "" yy44: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy45; -yy45: if(yybm[0+yych] & 128) goto yy44; +yy45: if(yybm[0+yych] & 128) { + goto yy44; + } goto yy41; } #line 313 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" @@ -672,7 +686,7 @@ yy45: if(yybm[0+yych] & 128) goto yy44; state_before_val: start = YYCURSOR; -#line 387 "" +#line 401 "" { YYCTYPE yych; unsigned int yyaccept; @@ -711,7 +725,7 @@ state_before_val: 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy46; -yy47: ++YYCURSOR; + ++YYCURSOR; yy46: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; @@ -726,21 +740,23 @@ yy48: yyaccept = 0; yy49: #line 319 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { --YYCURSOR; goto state_next_arg_begin; } -#line 441 "" +#line 455 "" yy50: ++YYCURSOR; yych = *YYCURSOR; goto yy54; yy51: #line 318 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } -#line 447 "" +#line 461 "" yy52: yych = *++YYCURSOR; goto yy49; yy53: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy54; -yy54: if(yybm[0+yych] & 128) goto yy53; +yy54: if(yybm[0+yych] & 128) { + goto yy53; + } goto yy51; yy55: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -761,7 +777,7 @@ yy57: YYCURSOR = YYMARKER; state_val: start = YYCURSOR; -#line 472 "" +#line 488 "" { YYCTYPE yych; unsigned int yyaccept; @@ -800,7 +816,7 @@ state_val: 248, 248, 248, 248, 248, 248, 248, 248, }; goto yy58; -yy59: ++YYCURSOR; + ++YYCURSOR; yy58: if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; @@ -828,7 +844,7 @@ yy60: yyaccept = 0; yy61: #line 328 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { handle_val(STD_ARGS, 0, '\0'); goto state_next_arg_begin; } -#line 539 "" +#line 555 "" yy62: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy69; @@ -839,35 +855,43 @@ yy64: ++YYCURSOR; yy65: #line 329 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_next_arg_begin; } -#line 550 "" +#line 566 "" yy66: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy67; -yy67: if(yybm[0+yych] & 8) goto yy66; +yy67: if(yybm[0+yych] & 8) { + goto yy66; + } goto yy61; yy68: yyaccept = 0; YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy69; -yy69: if(yybm[0+yych] & 16) goto yy68; +yy69: if(yybm[0+yych] & 16) { + goto yy68; + } if(yych <= '&') goto yy72; if(yych >= '(') goto yy61; goto yy70; yy70: ++YYCURSOR; - if(yybm[0+(yych = *YYCURSOR)] & 8) yych = *YYCURSOR; - goto yy66; + if(yybm[0+(yych = *YYCURSOR)] & 8) { + yych = *YYCURSOR; + goto yy66; + } goto yy71; yy71: #line 327 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } -#line 573 "" +#line 595 "" yy72: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy73; -yy73: if(yybm[0+yych] & 32) goto yy72; +yy73: if(yybm[0+yych] & 32) { + goto yy72; + } if(yych <= '=') goto yy75; goto yy74; yy74: YYCURSOR = YYMARKER; @@ -878,26 +902,32 @@ yy75: yych = *++YYCURSOR; goto yy71; yy76: yyaccept = 0; YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy77; -yy77: if(yybm[0+yych] & 64) goto yy76; +yy77: if(yybm[0+yych] & 64) { + goto yy76; + } if(yych <= '!') goto yy80; if(yych >= '#') goto yy61; goto yy78; yy78: ++YYCURSOR; - if(yybm[0+(yych = *YYCURSOR)] & 8) yych = *YYCURSOR; - goto yy66; + if(yybm[0+(yych = *YYCURSOR)] & 8) { + yych = *YYCURSOR; + goto yy66; + } goto yy79; yy79: #line 326 "/usr/src/php/php_5_0/ext/standard/url_scanner_ex.re" { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } -#line 603 "" +#line 631 "" yy80: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy81; -yy81: if(yybm[0+yych] & 128) goto yy80; +yy81: if(yybm[0+yych] & 128) { + goto yy80; + } if(yych >= '>') goto yy74; goto yy82; yy82: ++YYCURSOR; diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 66c6fc5e9e..f01fe2adc8 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.4 on Thu Mar 10 02:54:37 2005 */ +/* Generated by re2c 0.9.6 on Fri Apr 15 01:39:24 2005 */ #line 1 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -366,7 +366,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy0; -yy1: ++YYCURSOR; + ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; @@ -471,17 +471,23 @@ yy15: yy16: yych = *++YYCURSOR; goto yy4; yy17: yych = *++YYCURSOR; - if(yybm[0+yych] & 128) goto yy19; + if(yybm[0+yych] & 128) { + goto yy19; + } if(yych != '+') goto yy2; goto yy18; yy18: yych = *++YYCURSOR; - if(yybm[0+yych] & 128) goto yy19; + if(yybm[0+yych] & 128) { + goto yy19; + } goto yy2; yy19: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy20; -yy20: if(yybm[0+yych] & 128) goto yy19; +yy20: if(yybm[0+yych] & 128) { + goto yy19; + } if(yych != ':') goto yy2; goto yy21; yy21: yych = *++YYCURSOR; @@ -590,7 +596,7 @@ yy23: return object_common2(UNSERIALIZE_PASSTHRU, elements); } -#line 271 "" +#line 277 "" yy24: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -606,7 +612,7 @@ yy25: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy26; yy26: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy27; yy27: if(yych <= '/') goto yy2; @@ -627,7 +633,7 @@ yy30: return object_common2(UNSERIALIZE_PASSTHRU, object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR)); } -#line 309 "" +#line 315 "" yy31: yych = *++YYCURSOR; if(yych == '+') goto yy32; if(yych <= '/') goto yy2; @@ -638,7 +644,7 @@ yy32: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy33; yy33: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy34; yy34: if(yych <= '/') goto yy2; @@ -677,7 +683,7 @@ yy37: return finish_nested_data(UNSERIALIZE_PASSTHRU); } -#line 360 "" +#line 366 "" yy38: yych = *++YYCURSOR; if(yych == '+') goto yy39; if(yych <= '/') goto yy2; @@ -688,7 +694,7 @@ yy39: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy40; yy40: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy41; yy41: if(yych <= '/') goto yy2; @@ -729,7 +735,7 @@ yy44: ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 413 "" +#line 419 "" yy45: yych = *++YYCURSOR; if(yych <= '/'){ if(yych <= ','){ @@ -771,7 +777,7 @@ yy49: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy50; yy50: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy51; yy51: if(yych <= ':'){ @@ -798,7 +804,7 @@ yy52: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy53; yy53: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy54; yy54: if(yych <= ';'){ @@ -825,7 +831,7 @@ yy56: ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 511 "" +#line 517 "" yy57: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -900,7 +906,7 @@ yy67: return 1; } -#line 588 "" +#line 594 "" yy68: yych = *++YYCURSOR; if(yych == 'N') goto yy65; goto yy2; @@ -936,7 +942,7 @@ yy74: ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 625 "" +#line 631 "" yy75: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= '2') goto yy2; @@ -954,7 +960,7 @@ yy78: ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 643 "" +#line 649 "" yy79: ++YYCURSOR; goto yy80; yy80: @@ -965,7 +971,7 @@ yy80: ZVAL_NULL(*rval); return 1; } -#line 654 "" +#line 660 "" yy81: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1014,7 +1020,7 @@ yy86: return 1; } -#line 704 "" +#line 710 "" yy87: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1061,7 +1067,7 @@ yy92: return 1; } -#line 752 "" +#line 758 "" } #line 591 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" -- 2.50.1