diff options
| author | Anatol Belski <ab@php.net> | 2014-11-26 08:17:35 +0100 |
|---|---|---|
| committer | Anatol Belski <ab@php.net> | 2014-11-26 08:17:35 +0100 |
| commit | 3ca0ca1548324e8993e0707dfaf67a8cb58a0fb2 (patch) | |
| tree | ed14da274390f69bc4235a1f21121cfe8b370144 /Zend/zend_objects.c | |
| parent | 4f3ac2cdbedf7a84d64bfee7405f0c023641a806 (diff) | |
| parent | 108b2c4bb993f7bd3855a801f71175fd65c6828a (diff) | |
| download | php-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.c | 9 |
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); } } |
