From ca64bb1adfe32650c0e7402be67c5c2c1531e1b5 Mon Sep 17 00:00:00 2001 From: barbieri Date: Mon, 9 Jan 2012 23:13:06 +0000 Subject: [PATCH] Add eina_array_count(), deprecate eina_array_count_get(). This makes the API more uniform. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@67001 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/include/eina_array.h | 5 +++-- src/include/eina_inline_array.x | 18 ++++++++++++++++++ src/lib/eina_array.c | 4 ++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/include/eina_array.h b/src/include/eina_array.h index 57ec04d..007b75a 100644 --- a/src/include/eina_array.h +++ b/src/include/eina_array.h @@ -351,7 +351,8 @@ static inline void *eina_array_data_get(const Eina_Array *array, static inline void eina_array_data_set(const Eina_Array *array, unsigned int idx, const void *data) EINA_ARG_NONNULL(1); -static inline unsigned int eina_array_count_get(const Eina_Array *array) EINA_ARG_NONNULL(1); +static inline unsigned int eina_array_count_get(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_DEPRECATED; +static inline unsigned int eina_array_count(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; /** * @brief Returned a new iterator associated to an array. @@ -429,7 +430,7 @@ static inline Eina_Bool eina_array_foreach(Eina_Array *array, */ #define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \ for (index = 0, iterator = (array)->data; \ - (index < eina_array_count_get(array)) && ((item = *((iterator)++))); \ + (index < eina_array_count(array)) && ((item = *((iterator)++))); \ ++(index)) #include "eina_inline_array.x" diff --git a/src/include/eina_inline_array.x b/src/include/eina_inline_array.x index 0f85446..a635ee2 100644 --- a/src/include/eina_inline_array.x +++ b/src/include/eina_inline_array.x @@ -128,6 +128,8 @@ eina_array_data_set(const Eina_Array *array, unsigned int idx, const void *data) * This function returns the number of elements in @p array. For * performance reasons, there is no check of @p array. If it is * @c NULL or invalid, the program may crash. + * + * @deprecated use eina_array_count() */ static inline unsigned int eina_array_count_get(const Eina_Array *array) @@ -135,6 +137,22 @@ eina_array_count_get(const Eina_Array *array) return array->count; } +/** + * @brief Return the number of elements in an array. + * + * @param array The array. + * @return The number of elements. + * + * This function returns the number of elements in @p array. For + * performance reasons, there is no check of @p array. If it is + * @c NULL or invalid, the program may crash. + */ +static inline unsigned int +eina_array_count(const Eina_Array *array) +{ + return array->count; +} + static inline Eina_Bool eina_array_foreach(Eina_Array *array, Eina_Each_Cb cb, void *fdata) { diff --git a/src/lib/eina_array.c b/src/lib/eina_array.c index 5a850ac..4bcab61 100644 --- a/src/lib/eina_array.c +++ b/src/lib/eina_array.c @@ -119,7 +119,7 @@ eina_array_iterator_next(Eina_Iterator_Array *it, void **data) { EINA_MAGIC_CHECK_ARRAY_ITERATOR(it, EINA_FALSE); - if (!(it->index < eina_array_count_get(it->array))) + if (!(it->index < eina_array_count(it->array))) return EINA_FALSE; if (data) @@ -150,7 +150,7 @@ eina_array_accessor_get_at(Eina_Accessor_Array *it, { EINA_MAGIC_CHECK_ARRAY_ACCESSOR(it, EINA_FALSE); - if (!(idx < eina_array_count_get(it->array))) + if (!(idx < eina_array_count(it->array))) return EINA_FALSE; if (data) -- 2.7.4