summaryrefslogtreecommitdiff
path: root/Zend/zend_variables.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2003-01-12 12:39:06 +0000
committerZeev Suraski <zeev@php.net>2003-01-12 12:39:06 +0000
commit424e98f4e2f14230f8743ddad85058fe1e0ad391 (patch)
tree6122309cb7e9a44c3e5cdb6131373cece41629ff /Zend/zend_variables.c
parentc98f4e9f323596d3e17e0b5cf15e69cdcb278dd0 (diff)
downloadphp-git-424e98f4e2f14230f8743ddad85058fe1e0ad391.tar.gz
Implemented compatibility mode
To enable - zend2.implicit_clone = on in php.ini or using ini_set()
Diffstat (limited to 'Zend/zend_variables.c')
-rw-r--r--Zend/zend_variables.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c
index 729d0a76b4..0943cf4873 100644
--- a/Zend/zend_variables.c
+++ b/Zend/zend_variables.c
@@ -126,11 +126,12 @@ ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)
case IS_OBJECT:
{
TSRMLS_FETCH();
-#if 0
- zvalue->value.obj = zvalue->value.obj.handlers->clone_obj(zvalue->value.obj.handle);
-#else
- Z_OBJ_HT_P(zvalue)->add_ref(zvalue TSRMLS_CC);
-#endif
+
+ if (EG(implicit_clone)) {
+ zvalue->value.obj = zvalue->value.obj.handlers->clone_obj(zvalue TSRMLS_CC);
+ } else {
+ Z_OBJ_HT_P(zvalue)->add_ref(zvalue TSRMLS_CC);
+ }
}
break;
}