cvs: ZendEngine2 / zend_execute_API.c
| From: | Zeev Suraski | Date: | Wed, 04 Feb 2004 23:48:39 +0000 |
| Subject: | cvs: ZendEngine2 / zend_execute_API.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2328@lists.php.net to get a copy of this message | ||
zeev Wed Feb 4 18:48:39 2004 EDT
Modified files:
/ZendEngine2 zend_execute_API.c
Log:
Fix exceptions happening inside internal functions called through
zend_user_function()
http://cvs.php.net/diff.php/ZendEngine2/zend_execute_API.c?r1=1.261&r2=1.262&ty=u
Index: ZendEngine2/zend_execute_API.c
diff -u ZendEngine2/zend_execute_API.c:1.261 ZendEngine2/zend_execute_API.c:1.262
--- ZendEngine2/zend_execute_API.c:1.261 Wed Feb 4 18:28:40 2004
+++ ZendEngine2/zend_execute_API.c Wed Feb 4 18:48:39 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute_API.c,v 1.261 2004/02/04 23:28:40 zeev Exp $ */
+/* $Id: zend_execute_API.c,v 1.262 2004/02/04 23:48:39 zeev Exp $ */
#include <stdio.h>
#include <signal.h>
@@ -547,12 +547,11 @@
}
/* Initialize execute_data */
- EX(fbc) = NULL;
- EX(object) = NULL;
- EX(Ts) = NULL;
- EX(op_array) = NULL;
- EX(opline) = NULL;
- *fci->retval_ptr_ptr = NULL;
+ if (EG(current_execute_data)) {
+ execute_data = *EG(current_execute_data);
+ } else {
+ memset(&execute_data, 0, sizeof(zend_execute_data));
+ }
if (!fci_cache || !fci_cache->initialized) {
if (fci->function_name->type==IS_ARRAY) { /* assume array($obj, $name) couple */