cvs: ZendEngine2 / zend_execute_API.c
| From: | Marcus Boerger | Date: | Mon, 29 Dec 2003 12:35:44 +0000 |
| Subject: | cvs: ZendEngine2 / zend_execute_API.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2162@lists.php.net to get a copy of this message | ||
helly Mon Dec 29 07:35:44 2003 EDT
Modified files:
/ZendEngine2 zend_execute_API.c
Log:
Fix __autoload() with derived classes
Index: ZendEngine2/zend_execute_API.c
diff -u ZendEngine2/zend_execute_API.c:1.247 ZendEngine2/zend_execute_API.c:1.248
--- ZendEngine2/zend_execute_API.c:1.247 Tue Dec 23 05:45:09 2003
+++ ZendEngine2/zend_execute_API.c Mon Dec 29 07:35:44 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute_API.c,v 1.247 2003/12/23 10:45:09 helly Exp $ */
+/* $Id: zend_execute_API.c,v 1.248 2003/12/29 12:35:44 helly Exp $ */
#include <stdio.h>
#include <signal.h>
@@ -1131,6 +1131,7 @@
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 @@
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;
}