diff --git a/legacy/eina/src/lib/eina_iterator.c b/legacy/eina/src/lib/eina_iterator.c index f4ad89f50d..2d94422828 100644 --- a/legacy/eina/src/lib/eina_iterator.c +++ b/legacy/eina/src/lib/eina_iterator.c @@ -32,13 +32,6 @@ eina_iterator_free(Eina_Iterator *iterator) if (iterator) iterator->free(iterator); } -EAPI void * -eina_iterator_data_get(Eina_Iterator *iterator) -{ - if (!iterator) return NULL; - return iterator->get_content(iterator); -} - EAPI void * eina_iterator_container_get(Eina_Iterator *iterator) { @@ -46,11 +39,11 @@ eina_iterator_container_get(Eina_Iterator *iterator) return iterator->get_container(iterator); } -EAPI Eina_Error -eina_iterator_next(Eina_Iterator *iterator) +EAPI Eina_Bool +eina_iterator_next(Eina_Iterator *iterator, void **data) { if (!iterator) return EINA_FALSE; - return iterator->next(iterator); + return iterator->next(iterator, data); } EAPI void @@ -64,9 +57,7 @@ eina_iterator_foreach(Eina_Iterator *iterator, if (!iterator) return ; container = iterator->get_container(iterator); - while ((data = iterator->get_content(iterator)) != NULL) { + while (iterator->next(iterator, &data) == EINA_TRUE) { if (cb(container, data, (void*) fdata) != EINA_TRUE) return ; - if (iterator->next(iterator) != EINA_TRUE) - break ; } }