summaryrefslogtreecommitdiff
path: root/Zend/zend_variables.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2001-08-16 14:04:04 +0000
committerAndi Gutmans <andi@php.net>2001-08-16 14:04:04 +0000
commitea48c0c46acc1d7ca6e9fb5cc078f0393b4e63ac (patch)
treef927a3dd4705d0ecb3a53021ac02b0a393755388 /Zend/zend_variables.c
parent351048297185f37175170cf3ac970bac94f915da (diff)
downloadphp-git-ea48c0c46acc1d7ca6e9fb5cc078f0393b4e63ac.tar.gz
- Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).
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;