From db11d16b7f39429bdb30916182b0aad6b1a4e0e2 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Thu, 11 Dec 2008 13:54:59 +0000 Subject: [PATCH] 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 --- legacy/eina/src/lib/eina_iterator.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/legacy/eina/src/lib/eina_iterator.c b/legacy/eina/src/lib/eina_iterator.c index 94cfabd638..786a4c8785 100644 --- a/legacy/eina/src/lib/eina_iterator.c +++ b/legacy/eina/src/lib/eina_iterator.c @@ -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 ;