summaryrefslogtreecommitdiff
path: root/Zend/zend_objects.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-11-26 08:17:35 +0100
committerAnatol Belski <ab@php.net>2014-11-26 08:17:35 +0100
commit3ca0ca1548324e8993e0707dfaf67a8cb58a0fb2 (patch)
treeed14da274390f69bc4235a1f21121cfe8b370144 /Zend/zend_objects.c
parent4f3ac2cdbedf7a84d64bfee7405f0c023641a806 (diff)
parent108b2c4bb993f7bd3855a801f71175fd65c6828a (diff)
downloadphp-git-3ca0ca1548324e8993e0707dfaf67a8cb58a0fb2.tar.gz
Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (102 commits) fix dir separator in test fix TS build fix TS build Better fix for bug #68446 Revert "Merge remote-tracking branch 'origin/PHP-5.6'" Revert NEWS and set test to XFAIL Revert "Fix bug #68446 (bug with constant defaults and type hints)" Improved zend_hash_clean() and added new optimized zend_symtable_clean() Use inline version of zval_ptr_dtor() Added new optimized zend_array_destroy() function Moved i_zval_ptr_dtor() from zend_execute.h to zend_variables.h fix REGISTER_NS_*_CONSTANT macros Removed useless assert. EG(uninitialized_zval) can't be refcounted. Use specialized destructors when types of zvals are known. move tests into proper place Improved assignment to object property Reuse zend_assign_to_variable() in zend_std_write_property() cleanup comments from svn/cvs era fix dir separator in test fork test for windows ...
Diffstat (limited to 'Zend/zend_objects.c')
-rw-r--r--Zend/zend_objects.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c
index 58c034163e..2778b168ee 100644
--- a/Zend/zend_objects.c
+++ b/Zend/zend_objects.c
@@ -47,18 +47,19 @@ ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSR
ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC)
{
- int i;
+ int i, count;
if (object->guards) {
zend_hash_destroy(object->guards);
FREE_HASHTABLE(object->guards);
}
if (object->properties) {
- zend_hash_destroy(object->properties);
+ zend_array_destroy(object->properties TSRMLS_CC);
FREE_HASHTABLE(object->properties);
}
- for (i = 0; i < object->ce->default_properties_count; i++) {
- zval_ptr_dtor(&object->properties_table[i]);
+ count = object->ce->default_properties_count;
+ for (i = 0; i < count; i++) {
+ i_zval_ptr_dtor(&object->properties_table[i] ZEND_FILE_LINE_CC TSRMLS_CC);
}
}