diff options
author | Xinchen Hui <laruence@php.net> | 2014-06-29 00:29:07 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2014-06-29 00:29:07 +0800 |
commit | e1437022e188747495badcfa2b86282456bc27e8 (patch) | |
tree | 5f09b0a0dd280232acb0d6ee6fe71cd0607f3710 /ext/intl/breakiterator/breakiterator_iterators.cpp | |
parent | 1d793348067e5769144c0f7efd86428a4137baec (diff) | |
download | php-git-e1437022e188747495badcfa2b86282456bc27e8.tar.gz |
Fixed segfault, segfault and segfault
Diffstat (limited to 'ext/intl/breakiterator/breakiterator_iterators.cpp')
-rw-r--r-- | ext/intl/breakiterator/breakiterator_iterators.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/intl/breakiterator/breakiterator_iterators.cpp b/ext/intl/breakiterator/breakiterator_iterators.cpp index a5b7834847..0bfe6cfc2d 100644 --- a/ext/intl/breakiterator/breakiterator_iterators.cpp +++ b/ext/intl/breakiterator/breakiterator_iterators.cpp @@ -217,22 +217,26 @@ void IntlIterator_from_BreakIterator_parts(zval *break_iter_zv, ii = Z_INTL_ITERATOR_P(object); ii->iterator = (zend_object_iterator*)emalloc(sizeof(zoi_break_iter_parts)); - zend_iterator_init(ii->iterator TSRMLS_CC); + //zend_iterator_init(ii->iterator TSRMLS_CC); + ZVAL_COPY(&ii->iterator->data, break_iter_zv); ii->iterator->funcs = &breakiterator_parts_it_funcs; ii->iterator->index = 0; + ((zoi_with_current*)ii->iterator)->destroy_it = _breakiterator_parts_destroy_it; ZVAL_COPY_VALUE(&((zoi_with_current*)ii->iterator)->wrapping_obj, object); ZVAL_UNDEF(&((zoi_with_current*)ii->iterator)->current); ((zoi_break_iter_parts*)ii->iterator)->bio = Z_INTL_BREAKITERATOR_P(break_iter_zv); + assert(((zoi_break_iter_parts*)ii->iterator)->bio->biter != NULL); + ((zoi_break_iter_parts*)ii->iterator)->key_type = key_type; } U_CFUNC zend_object *IntlPartsIterator_object_create(zend_class_entry *ce TSRMLS_DC) { - zend_object* retval = IntlIterator_ce_ptr->create_object(ce TSRMLS_CC); + zend_object *retval = IntlIterator_ce_ptr->create_object(ce TSRMLS_CC); retval->handlers = &IntlPartsIterator_handlers; return retval; |