summaryrefslogtreecommitdiff
path: root/Zend/zend_language_scanner.l
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_language_scanner.l')
-rw-r--r--Zend/zend_language_scanner.l44
1 files changed, 22 insertions, 22 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 69aa1e3864..02401df2a9 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -863,7 +863,7 @@ ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter
}
-//??? use zend_string saving memalloc
+// TODO: avoid reallocation ???
# define zend_copy_value(zendlval, yytext, yyleng) \
if (SCNG(output_filter)) { \
size_t sz = 0; \
@@ -875,6 +875,15 @@ ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter
ZVAL_STRINGL(zendlval, yytext, yyleng); \
}
+// TODO: some extensions might need content, but we don't copy it intentional ???
+#if 0
+# define DUMMY_STRINGL(zendlval, yytext, yyleng) \
+ ZVAL_STRINGL(zendlval, yytext, yyleng)
+#else
+# define DUMMY_STRINGL(zendlval, yytext, yyleng) \
+ ZVAL_EMPTY_STRING(zendlval)
+#endif
+
static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
{
register char *s, *t;
@@ -988,7 +997,7 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo
if (SCNG(output_filter)) {
size_t sz = 0;
unsigned char *str;
- //??? use zend_string saving memalloc
+ // TODO: avoid realocation ???
s = Z_STRVAL_P(zendlval);
SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
zval_ptr_dtor(zendlval);
@@ -1184,8 +1193,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
}
<ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY>{WHITESPACE}+ {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
@@ -1708,8 +1716,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
}
HANDLE_NEWLINES(yytext, yyleng);
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
}
@@ -1717,8 +1724,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<INITIAL>"<%=" {
if (CG(asp_tags)) {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
} else {
@@ -1728,8 +1734,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<INITIAL>"<?=" {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG_WITH_ECHO;
}
@@ -1737,8 +1742,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<INITIAL>"<%" {
if (CG(asp_tags)) {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
@@ -1748,8 +1752,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<INITIAL>"<?php"([ \t]|{NEWLINE}) {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way, no copying intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
@@ -1758,8 +1761,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<INITIAL>"<?" {
if (CG(short_tags)) {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way, no copying intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(ST_IN_SCRIPTING);
return T_OPEN_TAG;
} else {
@@ -1814,7 +1816,7 @@ inline_html:
int readsize;
char *s = NULL;
size_t sz = 0;
- //??? use zend_string saving memalloc
+ // TODO: avoid reallocation ???
readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
ZVAL_STRINGL(zendlval, s, sz);
efree(s);
@@ -1944,8 +1946,7 @@ inline_html:
}
<ST_IN_SCRIPTING>("?>"|"</script"{WHITESPACE}*">"){NEWLINE}? {
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
@@ -1954,8 +1955,7 @@ inline_html:
<ST_IN_SCRIPTING>"%>"{NEWLINE}? {
if (CG(asp_tags)) {
BEGIN(INITIAL);
-//??? ZVAL_STRINGL(zendlval, yytext, yyleng);
- ZVAL_EMPTY_STRING(zendlval); /* tricky way to no copying - intentional */
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
} else {
yyless(1);
@@ -2024,7 +2024,7 @@ inline_html:
size_t sz = 0;
char *str = NULL;
s = Z_STRVAL_P(zendlval);
- //??? use zend_string saving memalloc
+ // TODO: avoid reallocation ???
SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
ZVAL_STRINGL(zendlval, str, sz);
efree(s);