summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-09-28 16:03:09 +0000
committerAndi Gutmans <andi@php.net>1999-09-28 16:03:09 +0000
commitb56fd4602f85c6c8bd2a63122b28ebe1963eab69 (patch)
tree1a5cc2a09bbce83155503e13757bf65920f0a6fd /Zend/zend_execute_API.c
parentf83ff3eb73d740f8e8e7be1fbd74022c026c65c9 (diff)
downloadphp-git-b56fd4602f85c6c8bd2a63122b28ebe1963eab69.tar.gz
- First part of the patch which makes reads use ptr and not ptr_ptr.
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 30e69815c7..01d8128a9a 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -32,6 +32,14 @@
#include "zend_extensions.h"
+#define AI_USE_PTR(ai) \
+ if ((ai).ptr_ptr) { \
+ (ai).ptr = *((ai).ptr_ptr); \
+ (ai).ptr_ptr = &((ai).ptr); \
+ } else { \
+ (ai).ptr = NULL; \
+ }
+
ZEND_API void (*zend_execute)(zend_op_array *op_array ELS_DC);
@@ -501,6 +509,7 @@ ZEND_API inline void zend_assign_to_variable_reference(znode *result, zval **var
if (result && (result->op_type != IS_UNUSED)) {
Ts[result->u.var].var.ptr_ptr = variable_ptr_ptr;
SELECTIVE_PZVAL_LOCK(*variable_ptr_ptr, result);
+ AI_USE_PTR(Ts[result->u.var].var);
}
}