summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-06-05 11:54:53 +0800
committerXinchen Hui <laruence@php.net>2015-06-05 11:54:53 +0800
commitd251ced225138381b61dfa5c5f682bbb28e309d9 (patch)
tree09e2ed71bfb4d647719ac02a5c283cdfbc8db5af /Zend/zend_execute.c
parent497f9f2cda4e2f2281cfbde148e7408908261c63 (diff)
parent7f39ee7159e500c7971da99a9cfdbdab0648e8f9 (diff)
downloadphp-git-d251ced225138381b61dfa5c5f682bbb28e309d9.tar.gz
Merge branch 'master' of git.php.net:php-src
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 340cd9b481..40868f0dc8 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -57,6 +57,7 @@ typedef int (ZEND_FASTCALL *incdec_t)(zval *);
#define get_zval_ptr_ptr(op_type, node, ex, should_free, type) _get_zval_ptr_ptr(op_type, node, ex, should_free, type)
#define get_zval_ptr_ptr_undef(op_type, node, ex, should_free, type) _get_zval_ptr_ptr(op_type, node, ex, should_free, type)
#define get_obj_zval_ptr(op_type, node, ex, should_free, type) _get_obj_zval_ptr(op_type, node, ex, should_free, type)
+#define get_obj_zval_ptr_undef(op_type, node, ex, should_free, type) _get_obj_zval_ptr_undef(op_type, node, ex, should_free, type)
#define get_obj_zval_ptr_ptr(op_type, node, ex, should_free, type) _get_obj_zval_ptr_ptr(op_type, node, ex, should_free, type)
/* Prototypes */
@@ -516,6 +517,15 @@ static inline zval *_get_obj_zval_ptr(int op_type, znode_op op, zend_execute_dat
return get_zval_ptr(op_type, op, execute_data, should_free, type);
}
+static inline zval *_get_obj_zval_ptr_undef(int op_type, znode_op op, zend_execute_data *execute_data, zend_free_op *should_free, int type)
+{
+ if (op_type == IS_UNUSED) {
+ *should_free = NULL;
+ return &EX(This);
+ }
+ return get_zval_ptr_undef(op_type, op, execute_data, should_free, type);
+}
+
static inline zval *_get_obj_zval_ptr_ptr(int op_type, znode_op node, zend_execute_data *execute_data, zend_free_op *should_free, int type)
{
if (op_type == IS_UNUSED) {