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.l13
1 files changed, 13 insertions, 0 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 800261580f..30a6c752f8 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1012,6 +1012,19 @@ NAMESPACE_NAME ({LABEL}":")+{LABEL}
return T_FILE;
}
+<ST_IN_SCRIPTING>"__NAMESPACE__" {
+ char *ns_name;
+ if(CG(active_namespace) == &CG(global_namespace)) {
+ ns_name = "";
+ } else {
+ ns_name = CG(active_namespace)->name;
+ }
+
+ zendlval->value.str.len = strlen(ns_name);
+ zendlval->value.str.val = estrndup(ns_name, zendlval->value.str.len);
+ zendlval->type = IS_STRING;
+ return T_NAMESPACE_C;
+}
<INITIAL>(([^<]|"<"[^?%s<]){1,400})|"<s"|"<" {
zendlval->value.str.val = (char *) estrndup(yytext, yyleng);