summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2014-03-24 12:37:05 +0800
committerXinchen Hui <laruence@gmail.com>2014-03-24 12:40:07 +0800
commit506f6a428267379b4aceb91d3a66d0762f3fd3a3 (patch)
treea0ff00e6efd901b63c84e2616db6c445da582365
parent9011a70c7f83ce5fc70ac9b6aef523ddda9e84fa (diff)
downloadphp-git-506f6a428267379b4aceb91d3a66d0762f3fd3a3.tar.gz
Refactor mbstring (incompleted)
-rw-r--r--Zend/zend.h6
-rw-r--r--Zend/zend_language_scanner.c701
-rw-r--r--Zend/zend_language_scanner.l9
-rw-r--r--Zend/zend_multibyte.c2
-rw-r--r--ext/mbstring/mbstring.c15
-rw-r--r--ext/mbstring/php_mbregex.c10
-rw-r--r--ext/mbstring/tests/bug26639.phpt54
-rw-r--r--ext/mbstring/tests/mb_http_output.phpt4
-rw-r--r--ext/mbstring/tests/mb_strpos.phpt8
-rw-r--r--ext/mbstring/tests/mb_strpos_error1.phpt4
-rw-r--r--ext/mbstring/tests/mb_strpos_variation1.phpt2
-rw-r--r--ext/mbstring/tests/mb_strpos_variation2.phpt2
-rw-r--r--ext/mbstring/tests/mb_strpos_variation3.phpt14
-rw-r--r--ext/mbstring/tests/mb_strpos_variation4.phpt4
-rw-r--r--ext/mbstring/tests/mb_strrpos_error1.phpt4
-rw-r--r--ext/mbstring/tests/mb_strrpos_variation1.phpt4
-rw-r--r--ext/mbstring/tests/mb_strrpos_variation2.phpt2
-rw-r--r--ext/mbstring/tests/mb_strrpos_variation4.phpt4
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