From c036245b6144f4986eb14bdeed56f0ffbc6a176b Mon Sep 17 00:00:00 2001 From: caro Date: Mon, 23 Mar 2009 20:36:10 +0000 Subject: [PATCH] fix some llvm report git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@39657 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/eina_array.c | 26 ++++++++++++++++---------- src/lib/eina_hash.c | 17 ++++++++++------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/lib/eina_array.c b/src/lib/eina_array.c index 45eadb6..c1cdfe3 100644 --- a/src/lib/eina_array.c +++ b/src/lib/eina_array.c @@ -170,16 +170,22 @@ EINA_MAGIC_FAIL(d, EINA_MAGIC_ARRAY); \ } while (0); -#define EINA_MAGIC_CHECK_ARRAY_ITERATOR(d) \ +#define EINA_MAGIC_CHECK_ARRAY_ITERATOR(d, val) \ do { \ if (!EINA_MAGIC_CHECK(d, EINA_MAGIC_ARRAY_ITERATOR)) \ - EINA_MAGIC_FAIL(d, EINA_MAGIC_ARRAY_ITERATOR); \ + { \ + EINA_MAGIC_FAIL(d, EINA_MAGIC_ARRAY_ITERATOR); \ + return val; \ + } \ } while (0); -#define EINA_MAGIC_CHECK_ARRAY_ACCESSOR(d) \ +#define EINA_MAGIC_CHECK_ARRAY_ACCESSOR(d, val) \ do { \ if (!EINA_MAGIC_CHECK(d, EINA_MAGIC_ARRAY_ACCESSOR)) \ - EINA_MAGIC_FAIL(d, EINA_MAGIC_ACCESSOR); \ + { \ + EINA_MAGIC_FAIL(d, EINA_MAGIC_ACCESSOR); \ + return val; \ + } \ } while (0); @@ -215,7 +221,7 @@ static void eina_array_accessor_free(Eina_Accessor_Array *it) EINA_ARG_NONNULL(1 static Eina_Bool eina_array_iterator_next(Eina_Iterator_Array *it, void **data) { - EINA_MAGIC_CHECK_ARRAY_ITERATOR(it); + EINA_MAGIC_CHECK_ARRAY_ITERATOR(it, EINA_FALSE); if (!(it->index < eina_array_count_get(it->array))) return EINA_FALSE; @@ -228,21 +234,21 @@ eina_array_iterator_next(Eina_Iterator_Array *it, void **data) static Eina_Array * eina_array_iterator_get_container(Eina_Iterator_Array *it) { - EINA_MAGIC_CHECK_ARRAY_ITERATOR(it); + EINA_MAGIC_CHECK_ARRAY_ITERATOR(it, NULL); return (Eina_Array *) it->array; } static void eina_array_iterator_free(Eina_Iterator_Array *it) { - EINA_MAGIC_CHECK_ARRAY_ITERATOR(it); + EINA_MAGIC_CHECK_ARRAY_ITERATOR(it,); MAGIC_FREE(it); } static Eina_Bool eina_array_accessor_get_at(Eina_Accessor_Array *it, unsigned int index, void **data) { - EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it); + EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it, EINA_FALSE); if (!(index < eina_array_count_get(it->array))) return EINA_FALSE; @@ -254,14 +260,14 @@ eina_array_accessor_get_at(Eina_Accessor_Array *it, unsigned int index, void **d static Eina_Array * eina_array_accessor_get_container(Eina_Accessor_Array *it) { - EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it); + EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it, NULL); return (Eina_Array *) it->array; } static void eina_array_accessor_free(Eina_Accessor_Array *it) { - EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it); + EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it, ); MAGIC_FREE(it); } diff --git a/src/lib/eina_hash.c b/src/lib/eina_hash.c index 1dc2388..a9d8742 100644 --- a/src/lib/eina_hash.c +++ b/src/lib/eina_hash.c @@ -49,10 +49,13 @@ EINA_MAGIC_FAIL(d, EINA_MAGIC_HASH); \ } while(0) -#define EINA_MAGIC_CHECK_HASH_ITERATOR(d) \ +#define EINA_MAGIC_CHECK_HASH_ITERATOR(d, val) \ do { \ if (!EINA_MAGIC_CHECK(d, EINA_MAGIC_HASH_ITERATOR)) \ - EINA_MAGIC_FAIL(d, EINA_MAGIC_HASH_ITERATOR); \ + { \ + EINA_MAGIC_FAIL(d, EINA_MAGIC_HASH_ITERATOR); \ + return val; \ + } \ } while(0) #define EINA_HASH_BUCKET_SIZE 8 @@ -481,7 +484,7 @@ _eina_hash_iterator_data_get_content(Eina_Iterator_Hash *it) { Eina_Hash_El *stuff; - EINA_MAGIC_CHECK_HASH_ITERATOR(it); + EINA_MAGIC_CHECK_HASH_ITERATOR(it, NULL); stuff = it->el; @@ -494,7 +497,7 @@ _eina_hash_iterator_key_get_content(Eina_Iterator_Hash *it) { Eina_Hash_El *stuff; - EINA_MAGIC_CHECK_HASH_ITERATOR(it); + EINA_MAGIC_CHECK_HASH_ITERATOR(it, NULL); stuff = it->el; @@ -507,7 +510,7 @@ _eina_hash_iterator_tuple_get_content(Eina_Iterator_Hash *it) { Eina_Hash_El *stuff; - EINA_MAGIC_CHECK_HASH_ITERATOR(it); + EINA_MAGIC_CHECK_HASH_ITERATOR(it, NULL); stuff = it->el; @@ -585,14 +588,14 @@ _eina_hash_iterator_next(Eina_Iterator_Hash *it, void **data) static void * _eina_hash_iterator_get_container(Eina_Iterator_Hash *it) { - EINA_MAGIC_CHECK_HASH_ITERATOR(it); + EINA_MAGIC_CHECK_HASH_ITERATOR(it, NULL); return (void *) it->hash; } static void _eina_hash_iterator_free(Eina_Iterator_Hash *it) { - EINA_MAGIC_CHECK_HASH_ITERATOR(it); + EINA_MAGIC_CHECK_HASH_ITERATOR(it, ); if (it->current) eina_iterator_free(it->current); if (it->list) eina_iterator_free(it->list); free(it); -- 2.7.4