diff options
author | Xinchen Hui <laruence@gmail.com> | 2014-03-24 12:37:05 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2014-03-24 12:40:07 +0800 |
commit | 506f6a428267379b4aceb91d3a66d0762f3fd3a3 (patch) | |
tree | a0ff00e6efd901b63c84e2616db6c445da582365 | |
parent | 9011a70c7f83ce5fc70ac9b6aef523ddda9e84fa (diff) | |
download | php-git-506f6a428267379b4aceb91d3a66d0762f3fd3a3.tar.gz |
Refactor mbstring (incompleted)
-rw-r--r-- | Zend/zend.h | 6 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 701 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 9 | ||||
-rw-r--r-- | Zend/zend_multibyte.c | 2 | ||||
-rw-r--r-- | ext/mbstring/mbstring.c | 15 | ||||
-rw-r--r-- | ext/mbstring/php_mbregex.c | 10 | ||||
-rw-r--r-- | ext/mbstring/tests/bug26639.phpt | 54 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_http_output.phpt | 4 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strpos.phpt | 8 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strpos_error1.phpt | 4 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strpos_variation1.phpt | 2 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strpos_variation2.phpt | 2 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strpos_variation3.phpt | 14 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strpos_variation4.phpt | 4 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strrpos_error1.phpt | 4 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strrpos_variation1.phpt | 4 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strrpos_variation2.phpt | 2 | ||||
-rw-r--r-- | ext/mbstring/tests/mb_strrpos_variation4.phpt | 4 |
18 files changed, 436 insertions, 413 deletions
diff --git a/Zend/zend.h b/Zend/zend.h index 90cf94d8f2..aaf12ead40 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -691,6 +691,12 @@ END_EXTERN_C() efree(ref); \ } while (0) +#define ZVAL_DEREF(z) do { \ + if (Z_ISREF_P((z))) { \ + (z) = Z_REFVAL_P((z)); \ + } \ + } while (0) + // TODO: invalud ??? #define INIT_PZVAL_COPY(z, v) \ do { \ diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 4c8dc9735d..543f0615c4 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -982,10 +982,13 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo *t = 0; if (SCNG(output_filter)) { size_t sz = 0; + unsigned char *str; + //??? use zend_string saving memalloc s = Z_STRVAL_P(zendlval); - SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); - Z_STRLEN_P(zendlval) = sz; - efree(s); + SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); + zval_ptr_dtor(zendlval); + ZVAL_STRINGL(zendlval, str, sz); + efree(str); } } @@ -998,7 +1001,7 @@ restart: yymore_restart: -#line 1002 "Zend/zend_language_scanner.c" +#line 1005 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1097,7 +1100,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1764 "Zend/zend_language_scanner.l" +#line 1767 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1156,7 +1159,7 @@ inline_html: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1160 "Zend/zend_language_scanner.c" +#line 1163 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1174,7 +1177,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1753 "Zend/zend_language_scanner.l" +#line 1756 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); @@ -1185,14 +1188,14 @@ yy6: goto inline_char_handler; } } -#line 1189 "Zend/zend_language_scanner.c" +#line 1192 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1732 "Zend/zend_language_scanner.l" +#line 1735 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); @@ -1203,7 +1206,7 @@ yy7: goto inline_char_handler; } } -#line 1207 "Zend/zend_language_scanner.c" +#line 1210 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1389,7 +1392,7 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1695 "Zend/zend_language_scanner.l" +#line 1698 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@ -1405,7 +1408,7 @@ yy35: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1409 "Zend/zend_language_scanner.c" +#line 1412 "Zend/zend_language_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; @@ -1432,7 +1435,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1712 "Zend/zend_language_scanner.l" +#line 1715 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); @@ -1443,20 +1446,20 @@ yy43: goto inline_char_handler; } } -#line 1447 "Zend/zend_language_scanner.c" +#line 1450 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1724 "Zend/zend_language_scanner.l" +#line 1727 "Zend/zend_language_scanner.l" { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); ZVAL_STR(zendlval, STR_EMPTY_ALLOC()); /* tricky way to no copying - intentional */ BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG_WITH_ECHO; } -#line 1460 "Zend/zend_language_scanner.c" +#line 1463 "Zend/zend_language_scanner.c" yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; @@ -1483,7 +1486,7 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1744 "Zend/zend_language_scanner.l" +#line 1747 "Zend/zend_language_scanner.l" { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); ZVAL_STR(zendlval, STR_EMPTY_ALLOC()); /* tricky way, no copying intentional */ @@ -1491,7 +1494,7 @@ yy51: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1495 "Zend/zend_language_scanner.c" +#line 1498 "Zend/zend_language_scanner.c" yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; @@ -1562,7 +1565,7 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2205 "Zend/zend_language_scanner.l" +#line 2208 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1603,7 +1606,7 @@ yy56: zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1607 "Zend/zend_language_scanner.c" +#line 1610 "Zend/zend_language_scanner.c" yy57: YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; @@ -1614,12 +1617,12 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2149 "Zend/zend_language_scanner.l" +#line 2152 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1623 "Zend/zend_language_scanner.c" +#line 1626 "Zend/zend_language_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -1629,14 +1632,14 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2136 "Zend/zend_language_scanner.l" +#line 2139 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1640 "Zend/zend_language_scanner.c" +#line 1643 "Zend/zend_language_scanner.c" yy63: YYDEBUG(63, *YYCURSOR); yyaccept = 0; @@ -1652,23 +1655,23 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1843 "Zend/zend_language_scanner.l" +#line 1846 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1661 "Zend/zend_language_scanner.c" +#line 1664 "Zend/zend_language_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1458 "Zend/zend_language_scanner.l" +#line 1461 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1672 "Zend/zend_language_scanner.c" +#line 1675 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; @@ -1682,14 +1685,14 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1836 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1693 "Zend/zend_language_scanner.c" +#line 1696 "Zend/zend_language_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; @@ -1707,14 +1710,14 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1830 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1718 "Zend/zend_language_scanner.c" +#line 1721 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1782,7 +1785,7 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2155 "Zend/zend_language_scanner.l" +#line 2158 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1831,7 +1834,7 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1835 "Zend/zend_language_scanner.c" +#line 1838 "Zend/zend_language_scanner.c" yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; @@ -1842,12 +1845,12 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2144 "Zend/zend_language_scanner.l" +#line 2147 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1851 "Zend/zend_language_scanner.c" +#line 1854 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -1857,14 +1860,14 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2136 "Zend/zend_language_scanner.l" +#line 2139 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1868 "Zend/zend_language_scanner.c" +#line 1871 "Zend/zend_language_scanner.c" yy85: YYDEBUG(85, *YYCURSOR); yyaccept = 0; @@ -1880,23 +1883,23 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1843 "Zend/zend_language_scanner.l" +#line 1846 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1889 "Zend/zend_language_scanner.c" +#line 1892 "Zend/zend_language_scanner.c" yy88: YYDEBUG(88, *YYCURSOR); ++YYCURSOR; YYDEBUG(89, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1458 "Zend/zend_language_scanner.l" +#line 1461 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1900 "Zend/zend_language_scanner.c" +#line 1903 "Zend/zend_language_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; @@ -1910,14 +1913,14 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1836 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1921 "Zend/zend_language_scanner.c" +#line 1924 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; @@ -1935,14 +1938,14 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1830 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 1946 "Zend/zend_language_scanner.c" +#line 1949 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1953,7 +1956,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2122 "Zend/zend_language_scanner.l" +#line 2125 "Zend/zend_language_scanner.l" { zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack)); @@ -1966,7 +1969,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1970 "Zend/zend_language_scanner.c" +#line 1973 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -2028,7 +2031,7 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2247 "Zend/zend_language_scanner.l" +#line 2250 "Zend/zend_language_scanner.l" { int newline = 0; @@ -2101,7 +2104,7 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 2105 "Zend/zend_language_scanner.c" +#line 2108 "Zend/zend_language_scanner.c" yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; @@ -2116,14 +2119,14 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2136 "Zend/zend_language_scanner.l" +#line 2139 "Zend/zend_language_scanner.l" { Z_LVAL_P(zendlval) = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 2127 "Zend/zend_language_scanner.c" +#line 2130 "Zend/zend_language_scanner.c" yy109: YYDEBUG(109, *YYCURSOR); yyaccept = 0; @@ -2139,23 +2142,23 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1843 "Zend/zend_language_scanner.l" +#line 1846 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 2148 "Zend/zend_language_scanner.c" +#line 2151 "Zend/zend_language_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1458 "Zend/zend_language_scanner.l" +#line 1461 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2159 "Zend/zend_language_scanner.c" +#line 2162 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; @@ -2169,14 +2172,14 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1836 "Zend/zend_language_scanner.l" +#line 1839 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 2180 "Zend/zend_language_scanner.c" +#line 2183 "Zend/zend_language_scanner.c" yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; @@ -2194,14 +2197,14 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1827 "Zend/zend_language_scanner.l" +#line 1830 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 2205 "Zend/zend_language_scanner.c" +#line 2208 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2384,12 +2387,12 @@ yy123: yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1865 "Zend/zend_language_scanner.l" +#line 1868 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 2393 "Zend/zend_language_scanner.c" +#line 2396 "Zend/zend_language_scanner.c" yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; @@ -2621,11 +2624,11 @@ yy138: yy139: YYDEBUG(139, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1447 "Zend/zend_language_scanner.l" +#line 1450 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2629 "Zend/zend_language_scanner.c" +#line 2632 "Zend/zend_language_scanner.c" yy140: YYDEBUG(140, *YYCURSOR); ++YYCURSOR; @@ -2634,14 +2637,14 @@ yy140: yy141: YYDEBUG(141, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1176 "Zend/zend_language_scanner.l" +#line 1179 "Zend/zend_language_scanner.l" { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); ZVAL_STR(zendlval, STR_EMPTY_ALLOC()); /* tricky way to no copying - intentional */ HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2645 "Zend/zend_language_scanner.c" +#line 2648 "Zend/zend_language_scanner.c" yy142: YYDEBUG(142, *YYCURSOR); yych = *++YYCURSOR; @@ -2652,11 +2655,11 @@ yy143: ++YYCURSOR; YYDEBUG(144, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1203 "Zend/zend_language_scanner.l" +#line 1206 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2660 "Zend/zend_language_scanner.c" +#line 2663 "Zend/zend_language_scanner.c" yy145: YYDEBUG(145, *YYCURSOR); yyaccept = 1; @@ -2889,18 +2892,18 @@ yy168: ++YYCURSOR; YYDEBUG(169, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1452 "Zend/zend_language_scanner.l" +#line 1455 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 2898 "Zend/zend_language_scanner.c" +#line 2901 "Zend/zend_language_scanner.c" yy170: YYDEBUG(170, *YYCURSOR); ++YYCURSOR; YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" +#line 1467 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2908,7 +2911,7 @@ yy170: } return '}'; } -#line 2912 "Zend/zend_language_scanner.c" +#line 2915 "Zend/zend_language_scanner.c" yy172: YYDEBUG(172, *YYCURSOR); yyaccept = 2; @@ -2936,7 +2939,7 @@ yy172: yy173: YYDEBUG(173, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1513 "Zend/zend_language_scanner.l" +#line 1516 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0); @@ -2957,7 +2960,7 @@ yy173: zendlval->type = IS_LONG; return T_LNUMBER; } -#line 2961 "Zend/zend_language_scanner.c" +#line 2964 "Zend/zend_language_scanner.c" yy174: YYDEBUG(174, *YYCURSOR); yyaccept = 2; @@ -2985,7 +2988,7 @@ yy176: yy177: YYDEBUG(177, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1871 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -3019,14 +3022,14 @@ yy177: return T_COMMENT; } -#line 3023 "Zend/zend_language_scanner.c" +#line 3026 "Zend/zend_language_scanner.c" yy178: YYDEBUG(178, *YYCURSOR); ++YYCURSOR; yy179: YYDEBUG(179, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1959 "Zend/zend_language_scanner.l" +#line 1962 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -3092,14 +3095,14 @@ yy179: } return T_CONSTANT_ENCAPSED_STRING; } -#line 3096 "Zend/zend_language_scanner.c" +#line 3099 "Zend/zend_language_scanner.c" yy180: YYDEBUG(180, *YYCURSOR); ++YYCURSOR; yy181: YYDEBUG(181, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2026 "Zend/zend_language_scanner.l" +#line 2029 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -3140,24 +3143,24 @@ yy181: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 3144 "Zend/zend_language_scanner.c" +#line 3147 "Zend/zend_language_scanner.c" yy182: YYDEBUG(182, *YYCURSOR); ++YYCURSOR; YYDEBUG(183, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2116 "Zend/zend_language_scanner.l" +#line 2119 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3155 "Zend/zend_language_scanner.c" +#line 3158 "Zend/zend_language_scanner.c" yy184: YYDEBUG(184, *YYCURSOR); ++YYCURSOR; YYDEBUG(185, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2378 "Zend/zend_language_scanner.l" +#line 2381 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3166,7 +3169,7 @@ yy184: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 3170 "Zend/zend_language_scanner.c" +#line 3173 "Zend/zend_language_scanner.c" yy186: YYDEBUG(186, *YYCURSOR); ++YYCURSOR; @@ -3193,12 +3196,12 @@ yy188: yy190: YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1572 "Zend/zend_language_scanner.l" +#line 1575 "Zend/zend_language_scanner.l" { ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL)); return T_DNUMBER; } -#line 3202 "Zend/zend_language_scanner.c" +#line 3205 "Zend/zend_language_scanner.c" yy191: YYDEBUG(191, *YYCURSOR); yyaccept = 2; @@ -3290,7 +3293,7 @@ yy200: } YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1489 "Zend/zend_language_scanner.l" +#line 1492 "Zend/zend_language_scanner.l" { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; @@ -3314,7 +3317,7 @@ yy200: return T_DNUMBER; } } -#line 3318 "Zend/zend_language_scanner.c" +#line 3321 "Zend/zend_language_scanner.c" yy203: YYDEBUG(203, *YYCURSOR); ++YYCURSOR; @@ -3326,7 +3329,7 @@ yy203: } YYDEBUG(205, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1534 "Zend/zend_language_scanner.l" +#line 1537 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3350,7 +3353,7 @@ yy203: return T_DNUMBER; } } -#line 3354 "Zend/zend_language_scanner.c" +#line 3357 "Zend/zend_language_scanner.c" yy206: YYDEBUG(206, *YYCURSOR); ++YYCURSOR; @@ -3359,14 +3362,14 @@ yy206: yy207: YYDEBUG(207, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1938 "Zend/zend_language_scanner.l" +#line 1941 "Zend/zend_language_scanner.l" { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); ZVAL_STR(zendlval, STR_EMPTY_ALLOC()); /* tricky way to no copying - intentional */ BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 3370 "Zend/zend_language_scanner.c" +#line 3373 "Zend/zend_language_scanner.c" yy208: YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; @@ -3400,12 +3403,12 @@ yy210: yy212: YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1843 "Zend/zend_language_scanner.l" +#line 1846 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 3409 "Zend/zend_language_scanner.c" +#line 3412 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); yych = *++YYCURSOR; @@ -3419,11 +3422,11 @@ yy214: } YYDEBUG(215, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1435 "Zend/zend_language_scanner.l" +#line 1438 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3427 "Zend/zend_language_scanner.c" +#line 3430 "Zend/zend_language_scanner.c" yy216: YYDEBUG(216, *YYCURSOR); ++YYCURSOR; @@ -3432,61 +3435,61 @@ yy216: } YYDEBUG(217, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1427 "Zend/zend_language_scanner.l" +#line 1430 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3440 "Zend/zend_language_scanner.c" +#line 3443 "Zend/zend_language_scanner.c" yy218: YYDEBUG(218, *YYCURSOR); ++YYCURSOR; YYDEBUG(219, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1415 "Zend/zend_language_scanner.l" +#line 1418 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3450 "Zend/zend_language_scanner.c" +#line 3453 "Zend/zend_language_scanner.c" yy220: YYDEBUG(220, *YYCURSOR); ++YYCURSOR; YYDEBUG(221, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1419 "Zend/zend_language_scanner.l" +#line 1422 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3460 "Zend/zend_language_scanner.c" +#line 3463 "Zend/zend_language_scanner.c" yy222: YYDEBUG(222, *YYCURSOR); ++YYCURSOR; YYDEBUG(223, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1411 "Zend/zend_language_scanner.l" +#line 1414 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3470 "Zend/zend_language_scanner.c" +#line 3473 "Zend/zend_language_scanner.c" yy224: YYDEBUG(224, *YYCURSOR); ++YYCURSOR; YYDEBUG(225, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1423 "Zend/zend_language_scanner.l" +#line 1426 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3480 "Zend/zend_language_scanner.c" +#line 3483 "Zend/zend_language_scanner.c" yy226: YYDEBUG(226, *YYCURSOR); ++YYCURSOR; YYDEBUG(227, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1407 "Zend/zend_language_scanner.l" +#line 1410 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3490 "Zend/zend_language_scanner.c" +#line 3493 "Zend/zend_language_scanner.c" yy228: YYDEBUG(228, *YYCURSOR); ++YYCURSOR; @@ -3495,7 +3498,7 @@ yy228: yy229: YYDEBUG(229, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1946 "Zend/zend_language_scanner.l" +#line 1949 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3507,17 +3510,17 @@ yy229: return yytext[0]; } } -#line 3511 "Zend/zend_language_scanner.c" +#line 3514 "Zend/zend_language_scanner.c" yy230: YYDEBUG(230, *YYCURSOR); ++YYCURSOR; YYDEBUG(231, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1395 "Zend/zend_language_scanner.l" +#line 1398 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3521 "Zend/zend_language_scanner.c" +#line 3524 "Zend/zend_language_scanner.c" yy232: YYDEBUG(232, *YYCURSOR); yych = *++YYCURSOR; @@ -3535,7 +3538,7 @@ yy234: yy235: YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1905 "Zend/zend_language_scanner.l" +#line 1908 "Zend/zend_language_scanner.l" { int doc_com; @@ -3568,7 +3571,7 @@ yy235: return T_COMMENT; } -#line 3572 "Zend/zend_language_scanner.c" +#line 3575 "Zend/zend_language_scanner.c" yy236: YYDEBUG(236, *YYCURSOR); yych = *++YYCURSOR; @@ -3578,11 +3581,11 @@ yy237: ++YYCURSOR; YYDEBUG(238, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1387 "Zend/zend_language_scanner.l" +#line 1390 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3586 "Zend/zend_language_scanner.c" +#line 3589 "Zend/zend_language_scanner.c" yy239: YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; @@ -3605,42 +3608,42 @@ yy242: ++YYCURSOR; YYDEBUG(243, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1383 "Zend/zend_language_scanner.l" +#line 1386 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3613 "Zend/zend_language_scanner.c" +#line 3616 "Zend/zend_language_scanner.c" yy244: YYDEBUG(244, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy248; YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1443 "Zend/zend_language_scanner.l" +#line 1446 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3624 "Zend/zend_language_scanner.c" +#line 3627 "Zend/zend_language_scanner.c" yy246: YYDEBUG(246, *YYCURSOR); ++YYCURSOR; YYDEBUG(247, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1371 "Zend/zend_language_scanner.l" +#line 1374 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3634 "Zend/zend_language_scanner.c" +#line 3637 "Zend/zend_language_scanner.c" yy248: YYDEBUG(248, *YYCURSOR); ++YYCURSOR; YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1403 "Zend/zend_language_scanner.l" +#line 1406 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3644 "Zend/zend_language_scanner.c" +#line 3647 "Zend/zend_language_scanner.c" yy250: YYDEBUG(250, *YYCURSOR); yyaccept = 5; @@ -3651,11 +3654,11 @@ yy250: yy251: YYDEBUG(251, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1439 "Zend/zend_language_scanner.l" +#line 1442 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3659 "Zend/zend_language_scanner.c" +#line 3662 "Zend/zend_language_scanner.c" yy252: YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; @@ -3667,22 +3670,22 @@ yy253: ++YYCURSOR; YYDEBUG(254, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1367 "Zend/zend_language_scanner.l" +#line 1370 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3675 "Zend/zend_language_scanner.c" +#line 3678 "Zend/zend_language_scanner.c" yy255: YYDEBUG(255, *YYCURSOR); ++YYCURSOR; yy256: YYDEBUG(256, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1363 "Zend/zend_language_scanner.l" +#line 1366 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3686 "Zend/zend_language_scanner.c" +#line 3689 "Zend/zend_language_scanner.c" yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; @@ -3733,11 +3736,11 @@ yy264: ++YYCURSOR; YYDEBUG(265, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1399 "Zend/zend_language_scanner.l" +#line 1402 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3741 "Zend/zend_language_scanner.c" +#line 3744 "Zend/zend_language_scanner.c" yy266: YYDEBUG(266, *YYCURSOR); ++YYCURSOR; @@ -3842,7 +3845,7 @@ yy275: yy276: YYDEBUG(276, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2068 "Zend/zend_language_scanner.l" +#line 2071 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3889,7 +3892,7 @@ yy276: return T_START_HEREDOC; } -#line 3893 "Zend/zend_language_scanner.c" +#line 3896 "Zend/zend_language_scanner.c" yy277: YYDEBUG(277, *YYCURSOR); yych = *++YYCURSOR; @@ -3929,31 +3932,31 @@ yy280: ++YYCURSOR; YYDEBUG(282, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1355 "Zend/zend_language_scanner.l" +#line 1358 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3937 "Zend/zend_language_scanner.c" +#line 3940 "Zend/zend_language_scanner.c" yy283: YYDEBUG(283, *YYCURSOR); ++YYCURSOR; YYDEBUG(284, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1375 "Zend/zend_language_scanner.l" +#line 1378 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3947 "Zend/zend_language_scanner.c" +#line 3950 "Zend/zend_language_scanner.c" yy285: YYDEBUG(285, *YYCURSOR); ++YYCURSOR; YYDEBUG(286, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1343 "Zend/zend_language_scanner.l" +#line 1346 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3957 "Zend/zend_language_scanner.c" +#line 3960 "Zend/zend_language_scanner.c" yy287: YYDEBUG(287, *YYCURSOR); yych = *++YYCURSOR; @@ -3972,42 +3975,42 @@ yy289: } YYDEBUG(290, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1331 "Zend/zend_language_scanner.l" +#line 1334 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3980 "Zend/zend_language_scanner.c" +#line 3983 "Zend/zend_language_scanner.c" yy291: YYDEBUG(291, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy295; YYDEBUG(292, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1359 "Zend/zend_language_scanner.l" +#line 1362 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3991 "Zend/zend_language_scanner.c" +#line 3994 "Zend/zend_language_scanner.c" yy293: YYDEBUG(293, *YYCURSOR); ++YYCURSOR; YYDEBUG(294, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1327 "Zend/zend_language_scanner.l" +#line 1330 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 4001 "Zend/zend_language_scanner.c" +#line 4004 "Zend/zend_language_scanner.c" yy295: YYDEBUG(295, *YYCURSOR); ++YYCURSOR; YYDEBUG(296, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1351 "Zend/zend_language_scanner.l" +#line 1354 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 4011 "Zend/zend_language_scanner.c" +#line 4014 "Zend/zend_language_scanner.c" yy297: YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; @@ -4137,7 +4140,7 @@ yy313: } YYDEBUG(316, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1686 "Zend/zend_language_scanner.l" +#line 1689 "Zend/zend_language_scanner.l" { if (Z_TYPE(CG(current_namespace)) != IS_UNDEF) { ZVAL_DUP(zendlval, &CG(current_namespace)); @@ -4146,7 +4149,7 @@ yy313: } return T_NS_C; } -#line 4150 "Zend/zend_language_scanner.c" +#line 4153 "Zend/zend_language_scanner.c" yy317: YYDEBUG(317, *YYCURSOR); yych = *++YYCURSOR; @@ -4166,7 +4169,7 @@ yy318: } YYDEBUG(321, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" +#line 1664 "Zend/zend_language_scanner.l" { zend_string *filename = zend_get_compiled_filename(TSRMLS_C); zend_string *dirname; @@ -4191,7 +4194,7 @@ yy318: ZVAL_STR(zendlval, dirname); return T_DIR; } -#line 4195 "Zend/zend_language_scanner.c" +#line 4198 "Zend/zend_language_scanner.c" yy322: YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; @@ -4216,12 +4219,12 @@ yy324: } YYDEBUG(327, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1646 "Zend/zend_language_scanner.l" +#line 1649 "Zend/zend_language_scanner.l" { ZVAL_LONG(zendlval, CG(zend_lineno)); return T_LINE; } -#line 4225 "Zend/zend_language_scanner.c" +#line 4228 "Zend/zend_language_scanner.c" yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; @@ -4256,7 +4259,7 @@ yy332: } YYDEBUG(335, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1614 "Zend/zend_language_scanner.l" +#line 1617 "Zend/zend_language_scanner.l" { if (CG(active_class_entry)) { int len = 0; @@ -4288,7 +4291,7 @@ yy332: } return T_METHOD_C; } -#line 4292 "Zend/zend_language_scanner.c" +#line 4295 "Zend/zend_language_scanner.c" yy336: YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; @@ -4339,7 +4342,7 @@ yy343: } YYDEBUG(346, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1604 "Zend/zend_language_scanner.l" +#line 1607 "Zend/zend_language_scanner.l" { zend_op_array *op_array = CG(active_op_array); if (op_array && op_array->function_name) { @@ -4349,7 +4352,7 @@ yy343: } return T_FUNC_C; } -#line 4353 "Zend/zend_language_scanner.c" +#line 4356 "Zend/zend_language_scanner.c" yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; @@ -4369,7 +4372,7 @@ yy348: } YYDEBUG(351, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1651 "Zend/zend_language_scanner.l" +#line 1654 "Zend/zend_language_scanner.l" { zend_string *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4379,7 +4382,7 @@ yy348: ZVAL_STR(zendlval, STR_COPY(filename)); return T_FILE; } -#line 4383 "Zend/zend_language_scanner.c" +#line 4386 "Zend/zend_language_scanner.c" yy352: YYDEBUG(352, *YYCURSOR); yych = *++YYCURSOR; @@ -4409,7 +4412,7 @@ yy355: } YYDEBUG(358, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1594 "Zend/zend_language_scanner.l" +#line 1597 "Zend/zend_language_scanner.l" { zend_class_entry *ce = CG(active_class_entry); if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) { @@ -4419,7 +4422,7 @@ yy355: } return T_TRAIT_C; } -#line 4423 "Zend/zend_language_scanner.c" +#line 4426 "Zend/zend_language_scanner.c" yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; @@ -4449,7 +4452,7 @@ yy362: } YYDEBUG(365, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1577 "Zend/zend_language_scanner.l" +#line 1580 "Zend/zend_language_scanner.l" { zend_class_entry *ce = CG(active_class_entry); if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) { @@ -4466,7 +4469,7 @@ yy362: } return T_CLASS_C; } -#line 4470 "Zend/zend_language_scanner.c" +#line 4473 "Zend/zend_language_scanner.c" yy366: YYDEBUG(366, *YYCURSOR); yych = *++YYCURSOR; @@ -4528,11 +4531,11 @@ yy377: } YYDEBUG(378, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1295 "Zend/zend_language_scanner.l" +#line 1298 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4536 "Zend/zend_language_scanner.c" +#line 4539 "Zend/zend_language_scanner.c" yy379: YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; @@ -4552,11 +4555,11 @@ yy381: } YYDEBUG(382, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1275 "Zend/zend_language_scanner.l" +#line 1278 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4560 "Zend/zend_language_scanner.c" +#line 4563 "Zend/zend_language_scanner.c" yy383: YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; @@ -4575,11 +4578,11 @@ yy385: } YYDEBUG(386, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1323 "Zend/zend_language_scanner.l" +#line 1326 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4583 "Zend/zend_language_scanner.c" +#line 4586 "Zend/zend_language_scanner.c" yy387: YYDEBUG(387, *YYCURSOR); ++YYCURSOR; @@ -4751,11 +4754,11 @@ yy402: ++YYCURSOR; YYDEBUG(404, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1223 "Zend/zend_language_scanner.l" +#line 1226 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4759 "Zend/zend_language_scanner.c" +#line 4762 "Zend/zend_language_scanner.c" yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; @@ -4799,11 +4802,11 @@ yy410: ++YYCURSOR; YYDEBUG(413, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1227 "Zend/zend_language_scanner.l" +#line 1230 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4807 "Zend/zend_language_scanner.c" +#line 4810 "Zend/zend_language_scanner.c" yy414: YYDEBUG(414, *YYCURSOR); yych = *++YYCURSOR; @@ -4873,11 +4876,11 @@ yy424: ++YYCURSOR; YYDEBUG(427, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1231 "Zend/zend_language_scanner.l" +#line 1234 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4881 "Zend/zend_language_scanner.c" +#line 4884 "Zend/zend_language_scanner.c" yy428: YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; @@ -4910,11 +4913,11 @@ yy431: ++YYCURSOR; YYDEBUG(434, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1235 "Zend/zend_language_scanner.l" +#line 1238 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4918 "Zend/zend_language_scanner.c" +#line 4921 "Zend/zend_language_scanner.c" yy435: YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; @@ -4952,11 +4955,11 @@ yy439: ++YYCURSOR; YYDEBUG(442, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1239 "Zend/zend_language_scanner.l" +#line 1242 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4960 "Zend/zend_language_scanner.c" +#line 4963 "Zend/zend_language_scanner.c" yy443: YYDEBUG(443, *YYCURSOR); yych = *++YYCURSOR; @@ -4997,11 +5000,11 @@ yy448: ++YYCURSOR; YYDEBUG(450, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1243 "Zend/zend_language_scanner.l" +#line 1246 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 5005 "Zend/zend_language_scanner.c" +#line 5008 "Zend/zend_language_scanner.c" yy451: YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; @@ -5061,11 +5064,11 @@ yy459: ++YYCURSOR; YYDEBUG(462, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1247 "Zend/zend_language_scanner.l" +#line 1250 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 5069 "Zend/zend_language_scanner.c" +#line 5072 "Zend/zend_language_scanner.c" yy463: YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; @@ -5079,11 +5082,11 @@ yy464: } YYDEBUG(465, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1219 "Zend/zend_language_scanner.l" +#line 1222 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 5087 "Zend/zend_language_scanner.c" +#line 5090 "Zend/zend_language_scanner.c" yy466: YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; @@ -5103,11 +5106,11 @@ yy468: } YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1211 "Zend/zend_language_scanner.l" +#line 1214 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 5111 "Zend/zend_language_scanner.c" +#line 5114 "Zend/zend_language_scanner.c" yy470: YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; @@ -5146,11 +5149,11 @@ yy476: } YYDEBUG(477, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1271 "Zend/zend_language_scanner.l" +#line 1274 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 5154 "Zend/zend_language_scanner.c" +#line 5157 "Zend/zend_language_scanner.c" yy478: YYDEBUG(478, *YYCURSOR); yyaccept = 3; @@ -5172,11 +5175,11 @@ yy480: ++YYCURSOR; YYDEBUG(481, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1391 "Zend/zend_language_scanner.l" +#line 1394 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 5180 "Zend/zend_language_scanner.c" +#line 5183 "Zend/zend_language_scanner.c" yy482: YYDEBUG(482, *YYCURSOR); yych = *++YYCURSOR; @@ -5185,21 +5188,21 @@ yy482: ++YYCURSOR; YYDEBUG(484, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1207 "Zend/zend_language_scanner.l" +#line 1210 "Zend/zend_language_scanner.l" { return T_ELLIPSIS; } -#line 5193 "Zend/zend_language_scanner.c" +#line 5196 "Zend/zend_language_scanner.c" yy485: YYDEBUG(485, *YYCURSOR); ++YYCURSOR; YYDEBUG(486, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1199 "Zend/zend_language_scanner.l" +#line 1202 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 5203 "Zend/zend_language_scanner.c" +#line 5206 "Zend/zend_language_scanner.c" yy487: YYDEBUG(487, *YYCURSOR); ++YYCURSOR; @@ -5221,32 +5224,32 @@ yy489: ++YYCURSOR; YYDEBUG(490, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1379 "Zend/zend_language_scanner.l" +#line 1382 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 5229 "Zend/zend_language_scanner.c" +#line 5232 "Zend/zend_language_scanner.c" yy491: YYDEBUG(491, *YYCURSOR); ++YYCURSOR; YYDEBUG(492, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1347 "Zend/zend_language_scanner.l" +#line 1350 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 5239 "Zend/zend_language_scanner.c" +#line 5242 "Zend/zend_language_scanner.c" yy493: YYDEBUG(493, *YYCURSOR); ++YYCURSOR; YYDEBUG(494, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1171 "Zend/zend_language_scanner.l" +#line 1174 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5250 "Zend/zend_language_scanner.c" +#line 5253 "Zend/zend_language_scanner.c" yy495: YYDEBUG(495, *YYCURSOR); yych = *++YYCURSOR; @@ -5291,11 +5294,11 @@ yy500: } YYDEBUG(501, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1319 "Zend/zend_language_scanner.l" +#line 1322 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 5299 "Zend/zend_language_scanner.c" +#line 5302 "Zend/zend_language_scanner.c" yy502: YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; @@ -5350,11 +5353,11 @@ yy509: } YYDEBUG(510, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1315 "Zend/zend_language_scanner.l" +#line 1318 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 5358 "Zend/zend_language_scanner.c" +#line 5361 "Zend/zend_language_scanner.c" yy511: YYDEBUG(511, *YYCURSOR); yych = *++YYCURSOR; @@ -5384,11 +5387,11 @@ yy515: } YYDEBUG(516, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1311 "Zend/zend_language_scanner.l" +#line 1314 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5392 "Zend/zend_language_scanner.c" +#line 5395 "Zend/zend_language_scanner.c" yy517: YYDEBUG(517, *YYCURSOR); ++YYCURSOR; @@ -5397,11 +5400,11 @@ yy517: } YYDEBUG(518, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1147 "Zend/zend_language_scanner.l" +#line 1150 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5405 "Zend/zend_language_scanner.c" +#line 5408 "Zend/zend_language_scanner.c" yy519: YYDEBUG(519, *YYCURSOR); yych = *++YYCURSOR; @@ -5426,11 +5429,11 @@ yy522: } YYDEBUG(523, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1139 "Zend/zend_language_scanner.l" +#line 1142 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5434 "Zend/zend_language_scanner.c" +#line 5437 "Zend/zend_language_scanner.c" yy524: YYDEBUG(524, *YYCURSOR); yych = *++YYCURSOR; @@ -5454,11 +5457,11 @@ yy527: } YYDEBUG(528, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1283 "Zend/zend_language_scanner.l" +#line 1286 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5462 "Zend/zend_language_scanner.c" +#line 5465 "Zend/zend_language_scanner.c" yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; @@ -5495,11 +5498,11 @@ yy535: } YYDEBUG(536, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1131 "Zend/zend_language_scanner.l" +#line 1134 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5503 "Zend/zend_language_scanner.c" +#line 5506 "Zend/zend_language_scanner.c" yy537: YYDEBUG(537, *YYCURSOR); yych = *++YYCURSOR; @@ -5539,11 +5542,11 @@ yy543: } YYDEBUG(544, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1115 "Zend/zend_language_scanner.l" +#line 1118 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5547 "Zend/zend_language_scanner.c" +#line 5550 "Zend/zend_language_scanner.c" yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; @@ -5567,11 +5570,11 @@ yy548: } YYDEBUG(549, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1299 "Zend/zend_language_scanner.l" +#line 1302 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5575 "Zend/zend_language_scanner.c" +#line 5578 "Zend/zend_language_scanner.c" yy550: YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; @@ -5598,11 +5601,11 @@ yy553: } YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1111 "Zend/zend_language_scanner.l" +#line 1114 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5606 "Zend/zend_language_scanner.c" +#line 5609 "Zend/zend_language_scanner.c" yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; @@ -5621,11 +5624,11 @@ yy557: } YYDEBUG(558, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1335 "Zend/zend_language_scanner.l" +#line 1338 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5629 "Zend/zend_language_scanner.c" +#line 5632 "Zend/zend_language_scanner.c" yy559: YYDEBUG(559, *YYCURSOR); ++YYCURSOR; @@ -5634,11 +5637,11 @@ yy559: } YYDEBUG(560, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1431 "Zend/zend_language_scanner.l" +#line 1434 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5642 "Zend/zend_language_scanner.c" +#line 5645 "Zend/zend_language_scanner.c" yy561: YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; @@ -5672,11 +5675,11 @@ yy566: } YYDEBUG(567, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1303 "Zend/zend_language_scanner.l" +#line 1306 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5680 "Zend/zend_language_scanner.c" +#line 5683 "Zend/zend_language_scanner.c" yy568: YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; @@ -5700,11 +5703,11 @@ yy571: } YYDEBUG(572, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1071 "Zend/zend_language_scanner.l" +#line 1074 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5708 "Zend/zend_language_scanner.c" +#line 5711 "Zend/zend_language_scanner.c" yy573: YYDEBUG(573, *YYCURSOR); ++YYCURSOR; @@ -5713,11 +5716,11 @@ yy573: } YYDEBUG(574, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1055 "Zend/zend_language_scanner.l" +#line 1058 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5721 "Zend/zend_language_scanner.c" +#line 5724 "Zend/zend_language_scanner.c" yy575: YYDEBUG(575, *YYCURSOR); yych = *++YYCURSOR; @@ -5769,11 +5772,11 @@ yy580: } YYDEBUG(581, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1287 "Zend/zend_language_scanner.l" +#line 1290 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5777 "Zend/zend_language_scanner.c" +#line 5780 "Zend/zend_language_scanner.c" yy582: YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; @@ -5827,11 +5830,11 @@ yy588: yy589: YYDEBUG(589, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1255 "Zend/zend_language_scanner.l" +#line 1258 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5835 "Zend/zend_language_scanner.c" +#line 5838 "Zend/zend_language_scanner.c" yy590: YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; @@ -5860,11 +5863,11 @@ yy594: } YYDEBUG(595, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1259 "Zend/zend_language_scanner.l" +#line 1262 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 5868 "Zend/zend_language_scanner.c" +#line 5871 "Zend/zend_language_scanner.c" yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; @@ -5898,11 +5901,11 @@ yy601: } YYDEBUG(602, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1155 "Zend/zend_language_scanner.l" +#line 1158 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 5906 "Zend/zend_language_scanner.c" +#line 5909 "Zend/zend_language_scanner.c" yy603: YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; @@ -5952,11 +5955,11 @@ yy609: } YYDEBUG(610, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1279 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { return T_INSTEADOF; } -#line 5960 "Zend/zend_language_scanner.c" +#line 5963 "Zend/zend_language_scanner.c" yy611: YYDEBUG(611, *YYCURSOR); yych = *++YYCURSOR; @@ -5985,11 +5988,11 @@ yy615: } YYDEBUG(616, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1107 "Zend/zend_language_scanner.l" +#line 1110 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 5993 "Zend/zend_language_scanner.c" +#line 5996 "Zend/zend_language_scanner.c" yy617: YYDEBUG(617, *YYCURSOR); yych = *++YYCURSOR; @@ -6033,11 +6036,11 @@ yy624: } YYDEBUG(625, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1167 "Zend/zend_language_scanner.l" +#line 1170 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 6041 "Zend/zend_language_scanner.c" +#line 6044 "Zend/zend_language_scanner.c" yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; @@ -6065,11 +6068,11 @@ yy627: } YYDEBUG(629, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1039 "Zend/zend_language_scanner.l" +#line 1042 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 6073 "Zend/zend_language_scanner.c" +#line 6076 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -6088,11 +6091,11 @@ yy632: } YYDEBUG(633, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1159 "Zend/zend_language_scanner.l" +#line 1162 "Zend/zend_language_scanner.l" { return T_TRAIT; } -#line 6096 "Zend/zend_language_scanner.c" +#line 6099 "Zend/zend_language_scanner.c" yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; @@ -6111,11 +6114,11 @@ yy636: } YYDEBUG(637, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1051 "Zend/zend_language_scanner.l" +#line 1054 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 6119 "Zend/zend_language_scanner.c" +#line 6122 "Zend/zend_language_scanner.c" yy638: YYDEBUG(638, *YYCURSOR); yych = *++YYCURSOR; @@ -6139,11 +6142,11 @@ yy641: } YYDEBUG(642, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1035 "Zend/zend_language_scanner.l" +#line 1038 "Zend/zend_language_scanner.l" { return T_YIELD; } -#line 6147 "Zend/zend_language_scanner.c" +#line 6150 "Zend/zend_language_scanner.c" yy643: YYDEBUG(643, *YYCURSOR); yych = *++YYCURSOR; @@ -6204,11 +6207,11 @@ yy649: yy650: YYDEBUG(650, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1263 "Zend/zend_language_scanner.l" +#line 1266 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 6212 "Zend/zend_language_scanner.c" +#line 6215 "Zend/zend_language_scanner.c" yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; @@ -6237,11 +6240,11 @@ yy655: } YYDEBUG(656, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1267 "Zend/zend_language_scanner.l" +#line 1270 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 6245 "Zend/zend_language_scanner.c" +#line 6248 "Zend/zend_language_scanner.c" yy657: YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; @@ -6260,11 +6263,11 @@ yy659: } YYDEBUG(660, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1031 "Zend/zend_language_scanner.l" +#line 1034 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 6268 "Zend/zend_language_scanner.c" +#line 6271 "Zend/zend_language_scanner.c" yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; @@ -6354,11 +6357,11 @@ yy670: } YYDEBUG(671, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1135 "Zend/zend_language_scanner.l" +#line 1138 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6362 "Zend/zend_language_scanner.c" +#line 6365 "Zend/zend_language_scanner.c" yy672: YYDEBUG(672, *YYCURSOR); ++YYCURSOR; @@ -6367,11 +6370,11 @@ yy672: } YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1027 "Zend/zend_language_scanner.l" +#line 1030 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6375 "Zend/zend_language_scanner.c" +#line 6378 "Zend/zend_language_scanner.c" yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; @@ -6396,11 +6399,11 @@ yy677: } YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1215 "Zend/zend_language_scanner.l" +#line 1218 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6404 "Zend/zend_language_scanner.c" +#line 6407 "Zend/zend_language_scanner.c" yy679: YYDEBUG(679, *YYCURSOR); yych = *++YYCURSOR; @@ -6414,11 +6417,11 @@ yy680: } YYDEBUG(681, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1151 "Zend/zend_language_scanner.l" +#line 1154 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6422 "Zend/zend_language_scanner.c" +#line 6425 "Zend/zend_language_scanner.c" yy682: YYDEBUG(682, *YYCURSOR); yych = *++YYCURSOR; @@ -6464,11 +6467,11 @@ yy689: } YYDEBUG(690, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1339 "Zend/zend_language_scanner.l" +#line 1342 "Zend/zend_language_scanner.l" { return T_CALLABLE; } -#line 6472 "Zend/zend_language_scanner.c" +#line 6475 "Zend/zend_language_scanner.c" yy691: YYDEBUG(691, *YYCURSOR); ++YYCURSOR; @@ -6477,11 +6480,11 @@ yy691: } YYDEBUG(692, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1123 "Zend/zend_language_scanner.l" +#line 1126 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6485 "Zend/zend_language_scanner.c" +#line 6488 "Zend/zend_language_scanner.c" yy693: YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; @@ -6495,11 +6498,11 @@ yy694: } YYDEBUG(695, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1043 "Zend/zend_language_scanner.l" +#line 1046 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6503 "Zend/zend_language_scanner.c" +#line 6506 "Zend/zend_language_scanner.c" yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; @@ -6550,11 +6553,11 @@ yy704: } YYDEBUG(705, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1023 "Zend/zend_language_scanner.l" +#line 1026 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6558 "Zend/zend_language_scanner.c" +#line 6561 "Zend/zend_language_scanner.c" yy706: YYDEBUG(706, *YYCURSOR); ++YYCURSOR; @@ -6578,11 +6581,11 @@ yy706: yy707: YYDEBUG(707, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1083 "Zend/zend_language_scanner.l" +#line 1086 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6586 "Zend/zend_language_scanner.c" +#line 6589 "Zend/zend_language_scanner.c" yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; @@ -6606,11 +6609,11 @@ yy711: } YYDEBUG(712, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1091 "Zend/zend_language_scanner.l" +#line 1094 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6614 "Zend/zend_language_scanner.c" +#line 6617 "Zend/zend_language_scanner.c" yy713: YYDEBUG(713, *YYCURSOR); yych = *++YYCURSOR; @@ -6644,11 +6647,11 @@ yy715: yy716: YYDEBUG(716, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1307 "Zend/zend_language_scanner.l" +#line 1310 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6652 "Zend/zend_language_scanner.c" +#line 6655 "Zend/zend_language_scanner.c" yy717: YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; @@ -6662,11 +6665,11 @@ yy718: } YYDEBUG(719, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1047 "Zend/zend_language_scanner.l" +#line 1050 "Zend/zend_language_scanner.l" { return T_FINALLY; } -#line 6670 "Zend/zend_language_scanner.c" +#line 6673 "Zend/zend_language_scanner.c" yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; @@ -6697,11 +6700,11 @@ yy722: } YYDEBUG(723, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1079 "Zend/zend_language_scanner.l" +#line 1082 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6705 "Zend/zend_language_scanner.c" +#line 6708 "Zend/zend_language_scanner.c" yy724: YYDEBUG(724, *YYCURSOR); ++YYCURSOR; @@ -6710,11 +6713,11 @@ yy724: } YYDEBUG(725, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1019 "Zend/zend_language_scanner.l" +#line 1022 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6718 "Zend/zend_language_scanner.c" +#line 6721 "Zend/zend_language_scanner.c" yy726: YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; @@ -6749,11 +6752,11 @@ yy731: } YYDEBUG(732, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1127 "Zend/zend_language_scanner.l" +#line 1130 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6757 "Zend/zend_language_scanner.c" +#line 6760 "Zend/zend_language_scanner.c" yy733: YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; @@ -6777,11 +6780,11 @@ yy736: } YYDEBUG(737, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1099 "Zend/zend_language_scanner.l" +#line 1102 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6785 "Zend/zend_language_scanner.c" +#line 6788 "Zend/zend_language_scanner.c" yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; @@ -6861,11 +6864,11 @@ yy749: } YYDEBUG(750, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1163 "Zend/zend_language_scanner.l" +#line 1166 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6869 "Zend/zend_language_scanner.c" +#line 6872 "Zend/zend_language_scanner.c" yy751: YYDEBUG(751, *YYCURSOR); ++YYCURSOR; @@ -6874,11 +6877,11 @@ yy751: } YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1015 "Zend/zend_language_scanner.l" +#line 1018 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6882 "Zend/zend_language_scanner.c" +#line 6885 "Zend/zend_language_scanner.c" yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; @@ -6892,11 +6895,11 @@ yy754: } YYDEBUG(755, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1251 "Zend/zend_language_scanner.l" +#line 1254 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6900 "Zend/zend_language_scanner.c" +#line 6903 "Zend/zend_language_scanner.c" yy756: YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; @@ -6966,11 +6969,11 @@ yy765: } YYDEBUG(766, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1075 "Zend/zend_language_scanner.l" +#line 1078 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6974 "Zend/zend_language_scanner.c" +#line 6977 "Zend/zend_language_scanner.c" yy767: YYDEBUG(767, *YYCURSOR); yych = *++YYCURSOR; @@ -6999,11 +7002,11 @@ yy771: } YYDEBUG(772, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1119 "Zend/zend_language_scanner.l" +#line 1122 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 7007 "Zend/zend_language_scanner.c" +#line 7010 "Zend/zend_language_scanner.c" yy773: YYDEBUG(773, *YYCURSOR); ++YYCURSOR; @@ -7012,11 +7015,11 @@ yy773: } YYDEBUG(774, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1063 "Zend/zend_language_scanner.l" +#line 1066 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 7020 "Zend/zend_language_scanner.c" +#line 7023 "Zend/zend_language_scanner.c" yy775: YYDEBUG(775, *YYCURSOR); yych = *++YYCURSOR; @@ -7045,11 +7048,11 @@ yy776: yy777: YYDEBUG(777, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1087 "Zend/zend_language_scanner.l" +#line 1090 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 7053 "Zend/zend_language_scanner.c" +#line 7056 "Zend/zend_language_scanner.c" yy778: YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; @@ -7073,11 +7076,11 @@ yy781: } YYDEBUG(782, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1095 "Zend/zend_language_scanner.l" +#line 1098 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 7081 "Zend/zend_language_scanner.c" +#line 7084 "Zend/zend_language_scanner.c" yy783: YYDEBUG(783, *YYCURSOR); yych = *++YYCURSOR; @@ -7111,11 +7114,11 @@ yy788: } YYDEBUG(789, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1103 "Zend/zend_language_scanner.l" +#line 1106 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 7119 "Zend/zend_language_scanner.c" +#line 7122 "Zend/zend_language_scanner.c" yy790: YYDEBUG(790, *YYCURSOR); yych = *++YYCURSOR; @@ -7134,11 +7137,11 @@ yy792: } YYDEBUG(793, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" +#line 1294 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 7142 "Zend/zend_language_scanner.c" +#line 7145 "Zend/zend_language_scanner.c" yy794: YYDEBUG(794, *YYCURSOR); yych = *++YYCURSOR; @@ -7167,11 +7170,11 @@ yy795: yy796: YYDEBUG(796, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1067 "Zend/zend_language_scanner.l" +#line 1070 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 7175 "Zend/zend_language_scanner.c" +#line 7178 "Zend/zend_language_scanner.c" yy797: YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; @@ -7185,11 +7188,11 @@ yy798: } YYDEBUG(799, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1059 "Zend/zend_language_scanner.l" +#line 1062 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 7193 "Zend/zend_language_scanner.c" +#line 7196 "Zend/zend_language_scanner.c" yy800: YYDEBUG(800, *YYCURSOR); yych = *++YYCURSOR; @@ -7203,11 +7206,11 @@ yy801: } YYDEBUG(802, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1143 "Zend/zend_language_scanner.l" +#line 1146 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 7211 "Zend/zend_language_scanner.c" +#line 7214 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7280,14 +7283,14 @@ yy805: yy806: YYDEBUG(806, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1176 "Zend/zend_language_scanner.l" +#line 1179 "Zend/zend_language_scanner.l" { //??? ZVAL_STRINGL(zendlval, yytext, yyleng); ZVAL_STR(zendlval, STR_EMPTY_ALLOC()); /* tricky way to no copying - intentional */ HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 7291 "Zend/zend_language_scanner.c" +#line 7294 "Zend/zend_language_scanner.c" yy807: YYDEBUG(807, *YYCURSOR); ++YYCURSOR; @@ -7295,13 +7298,13 @@ yy807: yy808: YYDEBUG(808, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1193 "Zend/zend_language_scanner.l" +#line 1196 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } -#line 7305 "Zend/zend_language_scanner.c" +#line 7308 "Zend/zend_language_scanner.c" yy809: YYDEBUG(809, *YYCURSOR); ++YYCURSOR; @@ -7310,13 +7313,13 @@ yy809: yy810: YYDEBUG(810, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1187 "Zend/zend_language_scanner.l" +#line 1190 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7320 "Zend/zend_language_scanner.c" +#line 7323 "Zend/zend_language_scanner.c" yy811: YYDEBUG(811, *YYCURSOR); yych = *++YYCURSOR; @@ -7337,11 +7340,11 @@ yy814: ++YYCURSOR; YYDEBUG(815, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1183 "Zend/zend_language_scanner.l" +#line 1186 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 7345 "Zend/zend_language_scanner.c" +#line 7348 "Zend/zend_language_scanner.c" yy816: YYDEBUG(816, *YYCURSOR); ++YYCURSOR; @@ -7426,14 +7429,14 @@ yy820: yy821: YYDEBUG(821, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1482 "Zend/zend_language_scanner.l" +#line 1485 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7437 "Zend/zend_language_scanner.c" +#line 7440 "Zend/zend_language_scanner.c" yy822: YYDEBUG(822, *YYCURSOR); yych = *++YYCURSOR; @@ -7458,7 +7461,7 @@ yy826: ++YYCURSOR; YYDEBUG(827, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1473 "Zend/zend_language_scanner.l" +#line 1476 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); @@ -7466,7 +7469,7 @@ yy826: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7470 "Zend/zend_language_scanner.c" +#line 7473 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: @@ -7477,7 +7480,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(831, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2321 "Zend/zend_language_scanner.l" +#line 2324 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7533,7 +7536,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7537 "Zend/zend_language_scanner.c" +#line 7540 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7640,7 +7643,7 @@ yy834: yy835: YYDEBUG(835, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1558 "Zend/zend_language_scanner.l" +#line 1561 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { ZVAL_LONG(zendlval, strtol(yytext, NULL, 10)); @@ -7649,7 +7652,7 @@ yy835: } return T_NUM_STRING; } -#line 7653 "Zend/zend_language_scanner.c" +#line 7656 "Zend/zend_language_scanner.c" yy836: YYDEBUG(836, *YYCURSOR); yych = *++YYCURSOR; @@ -7669,23 +7672,23 @@ yy837: yy838: YYDEBUG(838, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1853 "Zend/zend_language_scanner.l" +#line 1856 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7678 "Zend/zend_language_scanner.c" +#line 7681 "Zend/zend_language_scanner.c" yy839: YYDEBUG(839, *YYCURSOR); ++YYCURSOR; YYDEBUG(840, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1848 "Zend/zend_language_scanner.l" +#line 1851 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7689 "Zend/zend_language_scanner.c" +#line 7692 "Zend/zend_language_scanner.c" yy841: YYDEBUG(841, *YYCURSOR); yych = *++YYCURSOR; @@ -7695,14 +7698,14 @@ yy842: ++YYCURSOR; YYDEBUG(843, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1858 "Zend/zend_language_scanner.l" +#line 1861 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); yy_pop_state(TSRMLS_C); return T_ENCAPSED_AND_WHITESPACE; } -#line 7706 "Zend/zend_language_scanner.c" +#line 7709 "Zend/zend_language_scanner.c" yy844: YYDEBUG(844, *YYCURSOR); ++YYCURSOR; @@ -7711,18 +7714,18 @@ yy844: yy845: YYDEBUG(845, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1865 "Zend/zend_language_scanner.l" +#line 1868 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); return T_STRING; } -#line 7720 "Zend/zend_language_scanner.c" +#line 7723 "Zend/zend_language_scanner.c" yy846: YYDEBUG(846, *YYCURSOR); ++YYCURSOR; YYDEBUG(847, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2378 "Zend/zend_language_scanner.l" +#line 2381 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7731,7 +7734,7 @@ yy846: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7735 "Zend/zend_language_scanner.c" +#line 7738 "Zend/zend_language_scanner.c" yy848: YYDEBUG(848, *YYCURSOR); ++YYCURSOR; @@ -7767,12 +7770,12 @@ yy850: yy852: YYDEBUG(852, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1843 "Zend/zend_language_scanner.l" +#line 1846 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); return T_VARIABLE; } -#line 7776 "Zend/zend_language_scanner.c" +#line 7779 "Zend/zend_language_scanner.c" yy853: YYDEBUG(853, *YYCURSOR); ++YYCURSOR; @@ -7812,12 +7815,12 @@ yy858: yy860: YYDEBUG(860, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1567 "Zend/zend_language_scanner.l" +#line 1570 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); return T_NUM_STRING; } -#line 7821 "Zend/zend_language_scanner.c" +#line 7824 "Zend/zend_language_scanner.c" yy861: YYDEBUG(861, *YYCURSOR); ++YYCURSOR; @@ -7840,6 +7843,6 @@ yy863: goto yy860; } } -#line 2387 "Zend/zend_language_scanner.l" +#line 2390 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 98c7552b73..f7285bf86c 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -980,10 +980,13 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo *t = 0; if (SCNG(output_filter)) { size_t sz = 0; + unsigned char *str; + //??? use zend_string saving memalloc s = Z_STRVAL_P(zendlval); - SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); - Z_STRLEN_P(zendlval) = sz; - efree(s); + SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); + zval_ptr_dtor(zendlval); + ZVAL_STRINGL(zendlval, str, sz); + efree(str); } } diff --git a/Zend/zend_multibyte.c b/Zend/zend_multibyte.c index 75fcd638d2..08251dfa5e 100644 --- a/Zend/zend_multibyte.c +++ b/Zend/zend_multibyte.c @@ -114,7 +114,7 @@ ZEND_API int zend_multibyte_set_functions(const zend_multibyte_functions *functi * populated, we need to reinitialize script_encoding here. */ { - const char *value = zend_ini_string("zend.script_encoding", sizeof("zend.script_encoding"), 0); + const char *value = zend_ini_string("zend.script_encoding", sizeof("zend.script_encoding") - 1, 0); zend_multibyte_set_script_encoding_by_string(value, strlen(value) TSRMLS_CC); } return SUCCESS; diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 0b963f9f99..533e064a67 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2047,6 +2047,7 @@ PHP_FUNCTION(mb_parse_str) if (track_vars_array != NULL) { /* Clear out the array */ + ZVAL_DEREF(track_vars_array); zval_dtor(track_vars_array); array_init(track_vars_array); } @@ -3173,7 +3174,9 @@ PHP_FUNCTION(mb_strtoupper) if (newstr) { //??? - RETURN_STRINGL(newstr, ret_len); + RETVAL_STRINGL(newstr, ret_len); + efree(newstr); + return; } RETURN_FALSE; } @@ -3198,7 +3201,9 @@ PHP_FUNCTION(mb_strtolower) if (newstr) { //??? - RETURN_STRINGL(newstr, ret_len); + RETVAL_STRINGL(newstr, ret_len); + efree(newstr); + return; } RETURN_FALSE; } @@ -3378,6 +3383,7 @@ PHP_FUNCTION(mb_encode_mimeheader) if (ret != NULL) { //????? RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } else { RETVAL_FALSE; } @@ -3403,6 +3409,7 @@ PHP_FUNCTION(mb_decode_mimeheader) if (ret != NULL) { //???? RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } else { RETVAL_FALSE; } @@ -4365,7 +4372,7 @@ PHP_FUNCTION(mb_get_info) if (MBSTRG(current_http_output_encoding)) { add_assoc_string(return_value, "http_output", (char *)MBSTRG(current_http_output_encoding)->name, 1); } - if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes"), 0)) != NULL) { + if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes") - 1, 0)) != NULL) { add_assoc_string(return_value, "http_output_conv_mimetypes", name, 1); } add_assoc_long(return_value, "func_overload", MBSTRG(func_overload)); @@ -4440,7 +4447,7 @@ PHP_FUNCTION(mb_get_info) RETVAL_STRING((char *)MBSTRG(current_http_output_encoding)->name); } } else if (!strcasecmp("http_output_conv_mimetypes", typ)) { - if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes"), 0)) != NULL) { + if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes") - 1, 0)) != NULL) { RETVAL_STRING(name); } } else if (!strcasecmp("func_overload", typ)) { diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index 8d84e41054..e9307df5d7 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -740,9 +740,11 @@ static void _php_mb_regex_ereg_exec(INTERNAL_FUNCTION_PARAMETERS, int icase) match_len = 1; str = string; if (array != NULL) { - match_len = regs->end[0] - regs->beg[0]; + ZVAL_DEREF(array); zval_dtor(array); array_init(array); + + match_len = regs->end[0] - regs->beg[0]; for (i = 0; i < regs->num_regs; i++) { beg = regs->beg[i]; end = regs->end[i]; @@ -1011,9 +1013,11 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp if (err <= -2) { smart_str_free(&out_buf); RETVAL_FALSE; - } else { - smart_str_appendc(&out_buf, '\0'); + } else if (out_buf.s) { + smart_str_0(&out_buf); RETVAL_STR(out_buf.s); + } else { + RETVAL_EMPTY_STRING(); } } /* }}} */ diff --git a/ext/mbstring/tests/bug26639.phpt b/ext/mbstring/tests/bug26639.phpt index a87e912ba6..3f5b8e5acd 100644 --- a/ext/mbstring/tests/bug26639.phpt +++ b/ext/mbstring/tests/bug26639.phpt @@ -70,54 +70,54 @@ unset($a); unset($b); unset($c); ?> ---EXPECT-- -string(10) "あいうえお" refcount(2) -string(10) "、「、、、ヲ、ィ、ェ" refcount(2) -string(10) "、「、、、ヲ、ィ、ェ" refcount(1) -string(10) "、「、、、ヲ、ィ、ェ" refcount(1) -array(1) refcount(2){ +--EXPECTF-- +string(10) "あいうえお" refcount(%d) +string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) +string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) +string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) +array(1) refcount(%d){ [0]=> - string(10) "あいうえお" refcount(2) + string(10) "あいうえお" refcount(%d) } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(1) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - &string(10) "あいうえお" refcount(2) + &string(10) "あいうえお" refcount(%d) } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(1) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(2) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(2) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(2) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(2) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } -array(1) refcount(3){ +array(1) refcount(%d){ [0]=> - array(1) refcount(1){ + array(1) refcount(%d){ [0]=> - string(10) "あいうえお" refcount(1) + string(10) "あいうえお" refcount(%d) } } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - array(1) refcount(1){ + array(1) refcount(%d){ [0]=> - string(10) "、「、、、ヲ、ィ、ェ" refcount(1) + string(10) "、「、、、ヲ、ィ、ェ" refcount(%d) } } diff --git a/ext/mbstring/tests/mb_http_output.phpt b/ext/mbstring/tests/mb_http_output.phpt index 6f149bfc9f..a6cac3fb35 100644 --- a/ext/mbstring/tests/mb_http_output.phpt +++ b/ext/mbstring/tests/mb_http_output.phpt @@ -49,12 +49,12 @@ $enc = mb_http_output(); print "$enc\n"; $r = mb_http_output($t_ary); -($r === FALSE) ? print "OK_BAD_ARY_SET\n" : print "NG_BAD_ARY_SET\n"; +($r === NULL) ? print "OK_BAD_ARY_SET\n" : print "NG_BAD_ARY_SET\n"; $enc = mb_http_output(); print "$enc\n"; $r = mb_http_output($t_obj); -($r === FALSE) ? print "OK_BAD_OBJ_SET\n" : print "NG_BAD_OBJ_SET\n"; +($r === NULL) ? print "OK_BAD_OBJ_SET\n" : print "NG_BAD_OBJ_SET\n"; $enc = mb_http_output(); print "$enc\n"; diff --git a/ext/mbstring/tests/mb_strpos.phpt b/ext/mbstring/tests/mb_strpos.phpt index 1d613e9c78..e1222ca6dd 100644 --- a/ext/mbstring/tests/mb_strpos.phpt +++ b/ext/mbstring/tests/mb_strpos.phpt @@ -103,13 +103,13 @@ $r = mb_strpos($euc_jp, b"\n"); echo "== INVALID PARAMETER TEST ==\n"; $r = mb_strpos($euc_jp,'','EUC-JP'); -($r === FALSE) ? print("OK_NULL\n") : print("NG_NULL\n"); +($r === NULL) ? print("OK_NULL\n") : print("NG_NULL\n"); $r = mb_strpos($euc_jp, $t_ary, 'EUC-JP'); -($r === FALSE) ? print("OK_ARRAY\n") : print("NG_ARRAY\n"); +($r === NULL) ? print("OK_ARRAY\n") : print("NG_ARRAY\n"); $r = mb_strpos($euc_jp, $t_obj, 'EUC-JP'); -($r === FALSE) ? print("OK_OBJECT\n") : print("NG_OBJECT\n"); +($r === NULL) ? print("OK_OBJECT\n") : print("NG_OBJECT\n"); $r = mb_strpos($euc_jp, $t_obj, 'BAD_ENCODING'); -($r === FALSE) ? print("OK_BAD_ENCODING\n") : print("NG_BAD_ENCODING\n"); +($r === NULL) ? print("OK_BAD_ENCODING\n") : print("NG_BAD_ENCODING\n"); ?> diff --git a/ext/mbstring/tests/mb_strpos_error1.phpt b/ext/mbstring/tests/mb_strpos_error1.phpt index 8f5ba85423..ef0cbafeff 100644 --- a/ext/mbstring/tests/mb_strpos_error1.phpt +++ b/ext/mbstring/tests/mb_strpos_error1.phpt @@ -41,10 +41,10 @@ echo "Done"; -- Testing mb_strpos() function with more than expected no. of arguments -- Warning: mb_strpos() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strpos() function with less than expected no. of arguments -- Warning: mb_strpos() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation1.phpt b/ext/mbstring/tests/mb_strpos_variation1.phpt index d665f8f7ef..0684724b5c 100644 --- a/ext/mbstring/tests/mb_strpos_variation1.phpt +++ b/ext/mbstring/tests/mb_strpos_variation1.phpt @@ -178,5 +178,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 1 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation2.phpt b/ext/mbstring/tests/mb_strpos_variation2.phpt index d6feb49231..486b2bb3e5 100644 --- a/ext/mbstring/tests/mb_strpos_variation2.phpt +++ b/ext/mbstring/tests/mb_strpos_variation2.phpt @@ -194,5 +194,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 2 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation3.phpt b/ext/mbstring/tests/mb_strpos_variation3.phpt index 65572b5f04..ff69b8c6f8 100644 --- a/ext/mbstring/tests/mb_strpos_variation3.phpt +++ b/ext/mbstring/tests/mb_strpos_variation3.phpt @@ -162,32 +162,32 @@ int(8) -- Iteration 16 -- Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +NULL -- Iteration 17 -- Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +NULL -- Iteration 18 -- Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +NULL -- Iteration 19 -- Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +NULL -- Iteration 20 -- Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +NULL -- Iteration 21 -- Warning: mb_strpos() expects parameter 3 to be long, object given in %s on line %d -bool(false) +NULL -- Iteration 22 -- int(8) @@ -198,5 +198,5 @@ int(8) -- Iteration 24 -- Warning: mb_strpos() expects parameter 3 to be long, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation4.phpt b/ext/mbstring/tests/mb_strpos_variation4.phpt index 0fca8bb1f2..4051646ae4 100644 --- a/ext/mbstring/tests/mb_strpos_variation4.phpt +++ b/ext/mbstring/tests/mb_strpos_variation4.phpt @@ -218,5 +218,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 4 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strrpos_error1.phpt b/ext/mbstring/tests/mb_strrpos_error1.phpt index 15228fec81..892599acc2 100644 --- a/ext/mbstring/tests/mb_strrpos_error1.phpt +++ b/ext/mbstring/tests/mb_strrpos_error1.phpt @@ -41,10 +41,10 @@ echo "Done"; -- Testing mb_strrpos() function with more than expected no. of arguments -- Warning: mb_strrpos() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strrpos() function with less than expected no. of arguments -- Warning: mb_strrpos() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strrpos_variation1.phpt b/ext/mbstring/tests/mb_strrpos_variation1.phpt index 2d2db9003c..8b1713f9f1 100644 --- a/ext/mbstring/tests/mb_strrpos_variation1.phpt +++ b/ext/mbstring/tests/mb_strrpos_variation1.phpt @@ -177,5 +177,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strrpos() expects parameter 1 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strrpos_variation2.phpt b/ext/mbstring/tests/mb_strrpos_variation2.phpt index 1566b5cb5f..c2855e0f81 100644 --- a/ext/mbstring/tests/mb_strrpos_variation2.phpt +++ b/ext/mbstring/tests/mb_strrpos_variation2.phpt @@ -179,5 +179,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strrpos() expects parameter 2 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strrpos_variation4.phpt b/ext/mbstring/tests/mb_strrpos_variation4.phpt index 198ce8fc70..9d9a5f2358 100644 --- a/ext/mbstring/tests/mb_strrpos_variation4.phpt +++ b/ext/mbstring/tests/mb_strrpos_variation4.phpt @@ -218,5 +218,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strrpos() expects parameter 4 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done |