diff options
author | Andi Gutmans <andi@php.net> | 2001-03-12 15:42:18 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2001-03-12 15:42:18 +0000 |
commit | 714d083cb8e12a9afc9b5396105d5b74668f6227 (patch) | |
tree | 9d60e015e54a086e09bec2f71f049c68de533eac /Zend/zend_language_scanner.l | |
parent | 48caa74c2049448c8f98e29dc57194927d5a463f (diff) | |
download | php-git-714d083cb8e12a9afc9b5396105d5b74668f6227.tar.gz |
- Fix by Jani Taskinen <sniper@iki.fi> for whole path also to work
with include_once()/require_once().
Diffstat (limited to 'Zend/zend_language_scanner.l')
-rw-r--r-- | Zend/zend_language_scanner.l | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 76c3249ff1..71c2a2d0e6 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -243,23 +243,18 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle CLS_DC) 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; */ file_handle->handle.fp = fdopen(file_handle->handle.fd, "r"); break; case ZEND_HANDLE_FP: - /* file_handle->opened_path = NULL; */ file_handle->handle.fp = file_handle->handle.fp; break; } if (!file_handle->handle.fp) { return FAILURE; } - if (!file_path) { - file_path = file_handle->filename; - } + file_handle->type = ZEND_HANDLE_FP; if (file_handle->handle.fp != stdin) { zend_llist_add_element(&CG(open_files), file_handle); @@ -271,7 +266,6 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle CLS_DC) #else switch (file_handle->type) { case ZEND_HANDLE_FD: - /* file_handle->opened_path = NULL; */ file_handle->handle.is = new ifstream(file_handle->handle.fd); file_handle->type = ZEND_HANDLE_FSTREAM; break; @@ -286,7 +280,6 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle CLS_DC) break; } case ZEND_HANDLE_FP: - /* file_handle->opened_path = NULL; */ if (file_handle->handle.fp==stdin) { file_handle->handle.is = &cin; } else { @@ -299,8 +292,6 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle CLS_DC) break; } - file_path = file_handle->filename; - if (file_handle->handle.is->fail()) { delete file_handle->handle.is; return FAILURE; @@ -312,6 +303,13 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle CLS_DC) CG(ZFL) = new ZendFlexLexer; CG(ZFL)->switch_streams(file_handle->handle.is, &cout); #endif + + if(file_handle->opened_path) { + file_path = file_handle->opened_path; + } else { + file_path = file_handle->filename; + } + zend_set_compiled_filename(file_path); CG(zend_lineno) = 1; return SUCCESS; |