* @endcode
*/
#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \
- for (index = 0, iterator = (array)->data, item = iterator != NULL ? *(iterator) : NULL; \
- index < eina_array_count_get(array); \
- ++(index), item = *(++(iterator)))
+ for (index = 0, iterator = (array)->data; \
+ (index < eina_array_count_get(array)) && ((item = *((iterator)++))); \
+ ++(index))
#include "eina_inline_array.x"
static inline Eina_Bool
eina_array_push(Eina_Array *array, const void *data)
{
+ if (!data) return EINA_FALSE;
+
if (UNLIKELY((array->count + 1) > array->total))
if (!eina_array_grow(array)) return EINA_FALSE;