summaryrefslogtreecommitdiff
path: root/Zend/zend_variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_variables.c')
-rw-r--r--Zend/zend_variables.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c
index f919fb8c85..6104358382 100644
--- a/Zend/zend_variables.c
+++ b/Zend/zend_variables.c
@@ -54,7 +54,7 @@ ZEND_API void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC)
}
break;
case IS_OBJECT:
- zvalue->value.obj.handlers.del_ref(zvalue->value.obj.handle);
+ zvalue->value.obj.handlers->del_ref(zvalue->value.obj.handle);
break;
case IS_RESOURCE: {
TSRMLS_FETCH();
@@ -119,7 +119,11 @@ ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)
}
break;
case IS_OBJECT:
- zvalue->value.obj.handlers.add_ref(zvalue->value.obj.handle);
+#if 0
+ zvalue->value.obj = zvalue->value.obj.handlers->clone_obj(zvalue->value.obj.handle);
+#else
+ zvalue->value.obj.handlers->add_ref(zvalue->value.obj.handle);
+#endif
break;
}
return SUCCESS;
@@ -152,8 +156,7 @@ ZEND_API int zval_persist(zval *zvalue TSRMLS_DC)
zend_hash_apply(zvalue->value.ht, (apply_func_t) zval_persist TSRMLS_CC);
break;
case IS_OBJECT:
- persist_alloc(zvalue->value.obj.properties);
- zend_hash_apply(zvalue->value.obj.properties, (apply_func_t) zval_persist TSRMLS_CC);
+ return FAILURE; /* objects cannot be persisted */
break;
}
return SUCCESS;