summaryrefslogtreecommitdiff
path: root/ext/intl/breakiterator/breakiterator_iterators.cpp
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2014-06-29 00:29:07 +0800
committerXinchen Hui <laruence@php.net>2014-06-29 00:29:07 +0800
commite1437022e188747495badcfa2b86282456bc27e8 (patch)
tree5f09b0a0dd280232acb0d6ee6fe71cd0607f3710 /ext/intl/breakiterator/breakiterator_iterators.cpp
parent1d793348067e5769144c0f7efd86428a4137baec (diff)
downloadphp-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.cpp8
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;