summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2014-02-26 12:52:43 +0800
committerXinchen Hui <laruence@gmail.com>2014-02-26 12:52:43 +0800
commit66b7f6722d16a261243390ed2afdc97de15b5f93 (patch)
treed59b5611b79c442e471094e9c3e2951965a4d397 /Zend/zend_execute.c
parent80a178015d6b162ff0ba7a8e8f5a08c88829cc3c (diff)
parent4a1ecf0e8b04363901c92aea55a203fc73a24b95 (diff)
downloadphp-git-66b7f6722d16a261243390ed2afdc97de15b5f93.tar.gz
Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 322fe46799..9bdee5c2c1 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1383,7 +1383,7 @@ static void zend_fetch_property_address(zval *result, zval *container, zval *pro
{
if (Z_TYPE_P(container) != IS_OBJECT) {
if (container == &EG(error_zval)) {
- result = &EG(error_zval);
+ ZVAL_INDIRECT(result, &EG(error_zval));
return;
}
@@ -1398,7 +1398,7 @@ static void zend_fetch_property_address(zval *result, zval *container, zval *pro
object_init(container);
} else {
zend_error(E_WARNING, "Attempt to modify property of non-object");
- result = &EG(error_zval);
+ ZVAL_INDIRECT(result, &EG(error_zval));
return;
}
}
@@ -1408,7 +1408,8 @@ static void zend_fetch_property_address(zval *result, zval *container, zval *pro
if (NULL == ptr) {
if (Z_OBJ_HT_P(container)->read_property &&
(ptr = Z_OBJ_HT_P(container)->read_property(container, prop_ptr, type, key TSRMLS_CC)) != NULL) {
- ZVAL_COPY(result, ptr);
+//??? ZVAL_COPY(result, ptr);
+ ZVAL_INDIRECT(result, ptr);
} else {
zend_error_noreturn(E_ERROR, "Cannot access undefined property for object with overloaded property access");
}
@@ -1418,10 +1419,11 @@ static void zend_fetch_property_address(zval *result, zval *container, zval *pro
}
} else if (Z_OBJ_HT_P(container)->read_property) {
zval *ptr = Z_OBJ_HT_P(container)->read_property(container, prop_ptr, type, key TSRMLS_CC);
- ZVAL_COPY(result, ptr);
+//??? ZVAL_COPY(result, ptr);
+ ZVAL_INDIRECT(result, ptr);
} else {
zend_error(E_WARNING, "This object doesn't support property references");
- result = &EG(error_zval);
+ ZVAL_INDIRECT(result, &EG(error_zval));
}
}