summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-03-05 18:18:39 +0300
committerDmitry Stogov <dmitry@zend.com>2015-03-05 18:18:39 +0300
commit6d065a8545291a8048ef307476c4358922ca3a61 (patch)
tree00ed4a38bcc0b69729a95bd794cc171a37f3eeff /Zend/zend_execute_API.c
parentbb91bf83f9fc60cbd6cb30e6b2a7858efe1aa4c5 (diff)
downloadphp-git-6d065a8545291a8048ef307476c4358922ca3a61.tar.gz
Avoid repeatable strlen() calls
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index f52d9f33ce..3c1bd87bac 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -461,6 +461,21 @@ ZEND_API const char *zend_get_executed_filename(void) /* {{{ */
}
/* }}} */
+ZEND_API zend_string *zend_get_executed_filename_ex(void) /* {{{ */
+{
+ zend_execute_data *ex = EG(current_execute_data);
+
+ while (ex && (!ex->func || !ZEND_USER_CODE(ex->func->type))) {
+ ex = ex->prev_execute_data;
+ }
+ if (ex) {
+ return ex->func->op_array.filename;
+ } else {
+ return NULL;
+ }
+}
+/* }}} */
+
ZEND_API uint zend_get_executed_lineno(void) /* {{{ */
{
zend_execute_data *ex = EG(current_execute_data);