diff options
author | Xinchen Hui <laruence@php.net> | 2014-06-29 21:54:39 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2014-06-29 21:54:39 +0800 |
commit | 7d492e3fd4b4964faa6155ad5335ac4689278476 (patch) | |
tree | 2a229f79d47d98d7eddc399082aa235e5a90ac70 /ext/intl/common/common_enum.cpp | |
parent | cdff5775dd65772616db8fc93289daafd4a12107 (diff) | |
download | php-git-7d492e3fd4b4964faa6155ad5335ac4689278476.tar.gz |
Fixed iterators
Diffstat (limited to 'ext/intl/common/common_enum.cpp')
-rw-r--r-- | ext/intl/common/common_enum.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/intl/common/common_enum.cpp b/ext/intl/common/common_enum.cpp index e9d052d6ed..ff28bdb456 100644 --- a/ext/intl/common/common_enum.cpp +++ b/ext/intl/common/common_enum.cpp @@ -143,7 +143,7 @@ U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *ob object_init_ex(object, IntlIterator_ce_ptr); ii = Z_INTL_ITERATOR_P(object); ii->iterator = (zend_object_iterator*)emalloc(sizeof(zoi_with_current)); - //????????? dtor zend_iterator_init(ii->iterator TSRMLS_CC); + zend_iterator_init(ii->iterator TSRMLS_CC); ZVAL_PTR(&ii->iterator->data, se); ii->iterator->funcs = &string_enum_object_iterator_funcs; ii->iterator->index = 0; @@ -159,7 +159,7 @@ static void IntlIterator_objects_free(zend_object *object TSRMLS_DC) if (ii->iterator) { zval *wrapping_objp = &((zoi_with_current*)ii->iterator)->wrapping_obj; ZVAL_UNDEF(wrapping_objp); - ii->iterator->funcs->dtor(ii->iterator TSRMLS_CC); + zend_iterator_dtor(ii->iterator TSRMLS_CC); } intl_error_reset(INTLITERATOR_ERROR_P(ii) TSRMLS_CC); @@ -183,7 +183,7 @@ static zend_object_iterator *IntlIterator_get_iterator( return NULL; } - zval_add_ref(object); + ++GC_REFCOUNT(ii->iterator); return ii->iterator; } |