diff options
author | Marcus Boerger <helly@php.net> | 2003-12-29 12:35:44 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-12-29 12:35:44 +0000 |
commit | 03e039b19d7fcf7880eb0b56c82661ec6d50bac8 (patch) | |
tree | 04db356410b855cc6f78959ada2c2496c60202c2 | |
parent | 049fda207df613849aa37e6b6f4ea1cc3cf5227f (diff) | |
download | php-git-03e039b19d7fcf7880eb0b56c82661ec6d50bac8.tar.gz |
Fix __autoload() with derived classes
-rw-r--r-- | Zend/zend_execute_API.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 058e713ff8..36c3cfe77b 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1131,6 +1131,7 @@ void zend_unset_timeout(TSRMLS_D) zend_class_entry *zend_fetch_class(char *class_name, uint class_name_len, int fetch_type TSRMLS_DC) { zend_class_entry **pce; + zend_bool in_autoload; check_fetch_type: switch (fetch_type) { @@ -1156,9 +1157,13 @@ check_fetch_type: break; } + in_autoload = EG(in_autoload); + EG(in_autoload) = 0; if (zend_lookup_class(class_name, class_name_len, &pce TSRMLS_CC)==FAILURE) { + EG(in_autoload) = in_autoload; zend_error(E_ERROR, "Class '%s' not found", class_name); } + EG(in_autoload) = in_autoload; return *pce; } |