forked from enlightenment/efl
Manipulating NULL iterator should be concidered as a defined behaviour as it
give the possibility to write small code like : it = eina_hash_iterator_tuple_new(hash); eina_iterator_foreach(it, do_something_cb, NULL); eina_iterator_free(it); If hash is empty, but valid it will return a NULL iterator for this example. SVN revision: 38104
This commit is contained in:
parent
b8d721ac05
commit
db11d16b7f
|
@ -128,8 +128,8 @@ eina_iterator_container_get(Eina_Iterator *iterator)
|
|||
EAPI Eina_Bool
|
||||
eina_iterator_next(Eina_Iterator *iterator, void **data)
|
||||
{
|
||||
EINA_MAGIC_CHECK_ITERATOR(iterator);
|
||||
if (!iterator) return EINA_FALSE;
|
||||
EINA_MAGIC_CHECK_ITERATOR(iterator);
|
||||
return iterator->next(iterator, data);
|
||||
}
|
||||
|
||||
|
@ -153,10 +153,10 @@ eina_iterator_foreach(Eina_Iterator *iterator,
|
|||
void *container;
|
||||
void *data;
|
||||
|
||||
EINA_MAGIC_CHECK_ITERATOR(iterator);
|
||||
|
||||
if (!iterator) return ;
|
||||
|
||||
EINA_MAGIC_CHECK_ITERATOR(iterator);
|
||||
|
||||
container = iterator->get_container(iterator);
|
||||
while (iterator->next(iterator, &data) == EINA_TRUE) {
|
||||
if (cb(container, data, (void*) fdata) != EINA_TRUE) return ;
|
||||
|
|
Loading…
Reference in New Issue