summaryrefslogtreecommitdiff
path: root/Zend/zend_objects.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2006-06-05 13:58:52 +0000
committerZeev Suraski <zeev@php.net>2006-06-05 13:58:52 +0000
commit51d495850a74177f38207b1e39c3365b77a5a7d6 (patch)
treeb7410f4625f924023eedd812142e797b5591fe3e /Zend/zend_objects.c
parent163f0da75a820a52fa06bad1e420df1cc644bbd3 (diff)
downloadphp-git-51d495850a74177f38207b1e39c3365b77a5a7d6.tar.gz
Restore ZE1 compatibility mode (Zend Engine part - the modules patches
will follow later today)
Diffstat (limited to 'Zend/zend_objects.c')
-rw-r--r--Zend/zend_objects.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c
index e2d86e8fe8..6dc4ba4aa3 100644
--- a/Zend/zend_objects.c
+++ b/Zend/zend_objects.c
@@ -158,8 +158,11 @@ static void zval_add_ref_or_clone(zval **p)
ZEND_API void zend_objects_clone_members(zend_object *new_object, zend_object_value new_obj_val, zend_object *old_object, zend_object_handle handle TSRMLS_DC)
{
- zend_hash_copy(new_object->properties, old_object->properties, (copy_ctor_func_t) zval_add_ref, (void *) NULL /* Not used anymore */, sizeof(zval *));
-
+ if (EG(ze1_compatibility_mode)) {
+ zend_hash_copy(new_object->properties, old_object->properties, (copy_ctor_func_t) zval_add_ref_or_clone, (void *) NULL /* Not used anymore */, sizeof(zval *));
+ } else {
+ zend_hash_copy(new_object->properties, old_object->properties, (copy_ctor_func_t) zval_add_ref, (void *) NULL /* Not used anymore */, sizeof(zval *));
+ }
if (old_object->ce->clone) {
zval *new_obj;