ZEND_API int open_file_for_scanning(zend_file_handle *file_handle CLS_DC)
{
+ char *file_path = file_handle->opened_path;
+ if(!file_path) {
+ file_path = file_handle->filename;
+ }
+
#ifndef ZTS
switch (file_handle->type) {
case ZEND_HANDLE_FILENAME:
file_handle->handle.fp = zend_fopen(file_handle->filename, &file_handle->opened_path);
+ file_path = file_handle->opened_path;
break;
case ZEND_HANDLE_FD:
file_handle->opened_path = NULL;
CG(ZFL) = new ZendFlexLexer;
CG(ZFL)->switch_streams(file_handle->handle.is, &cout);
#endif
- zend_set_compiled_filename(file_handle->filename);
+ zend_set_compiled_filename(file_path);
CG(zend_lineno) = 1;
return SUCCESS;
}
file_handle.handle.fp = zend_fopen(inc_filename->value.str.val, &opened_path);
file_handle.type = ZEND_HANDLE_FP;
file_handle.filename = inc_filename->value.str.val;
+ file_handle.opened_path = opened_path;
file_handle.free_filename = 0;
if (file_handle.handle.fp) {