summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2002-08-17 16:22:40 +0000
committerZeev Suraski <zeev@php.net>2002-08-17 16:22:40 +0000
commitb66561c44a1e0684cfca09088dc28cbe9fd999b9 (patch)
tree9abb1553096dedc57b91f9a37e60a762b9f90011 /Zend/zend_execute.c
parent88fd5f3f5d029c96c14138660d3aa6d4cdccd44e (diff)
downloadphp-git-b66561c44a1e0684cfca09088dc28cbe9fd999b9.tar.gz
MFZE1
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index d397ccf387..5bdbaa230e 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2673,7 +2673,11 @@ send_by_ref:
file_handle.free_filename = 0;
if (file_handle.handle.fp) {
- if (!opened_path || zend_hash_add(&EG(included_files), opened_path, strlen(opened_path)+1, (void *)&dummy, sizeof(int), NULL)==SUCCESS) {
+ if( !opened_path ) {
+ opened_path = file_handle.opened_path = estrdup(inc_filename->value.str.val);
+ }
+
+ if (zend_hash_add(&EG(included_files), opened_path, strlen(opened_path)+1, (void *)&dummy, sizeof(int), NULL)==SUCCESS) {
new_op_array = zend_compile_file(&file_handle, (EX(opline)->op2.u.constant.value.lval==ZEND_INCLUDE_ONCE?ZEND_INCLUDE:ZEND_REQUIRE) TSRMLS_CC);
zend_destroy_file_handle(&file_handle TSRMLS_CC);
opened_path = NULL; /* zend_destroy_file_handle() already frees it */