diff --git a/src/lib/eina/eina_inarray.c b/src/lib/eina/eina_inarray.c index 274b1bb561..7da4e461d5 100644 --- a/src/lib/eina/eina_inarray.c +++ b/src/lib/eina/eina_inarray.c @@ -414,17 +414,18 @@ eina_inarray_push(Eina_Inarray *array, const void *data) } EAPI void * -eina_inarray_add(Eina_Inarray *array) +eina_inarray_grow(Eina_Inarray *array, unsigned int size) { void *p; EINA_MAGIC_CHECK_INARRAY(array, NULL); + if (!size) return NULL; - if (!_eina_inarray_resize(array, array->len + 1)) + if (!_eina_inarray_resize(array, array->len + size)) return NULL; p = _eina_inarray_get(array, array->len); - array->len++; + array->len += size; return p; } diff --git a/src/lib/eina/eina_inarray.h b/src/lib/eina/eina_inarray.h index 8eafc551a1..aa9a97fe2b 100644 --- a/src/lib/eina/eina_inarray.h +++ b/src/lib/eina/eina_inarray.h @@ -292,15 +292,16 @@ EAPI int eina_inarray_push(Eina_Inarray *array, const void *data) EINA_ARG_NONNULL(1, 2); /** - * @brief Allocate a new item at the end of the array. + * @brief Allocate new item at the end of the array. * @param array array object + * @param size number of new item to allocate * * The returned pointer is only valid until you use any other eina_inarray * function. * * @since 1.8 */ -EAPI void *eina_inarray_add(Eina_Inarray *array); +EAPI void *eina_inarray_grow(Eina_Inarray *array, unsigned int size); /** * @brief Copy the data to array at position found by comparison function diff --git a/src/lib/evas/canvas/evas_async_events.c b/src/lib/evas/canvas/evas_async_events.c index fe81be065b..39f0f9f001 100644 --- a/src/lib/evas/canvas/evas_async_events.c +++ b/src/lib/evas/canvas/evas_async_events.c @@ -225,7 +225,7 @@ evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_i eina_lock_take(&async_lock); count = async_queue.len; - ev = eina_inarray_add(&async_queue); + ev = eina_inarray_grow(&async_queue, 1); if (ev) { ev->func = func; diff --git a/src/lib/evas/common/evas_thread_render.c b/src/lib/evas/common/evas_thread_render.c index 34b9dcd0b5..9c434c29e2 100644 --- a/src/lib/evas/common/evas_thread_render.c +++ b/src/lib/evas/common/evas_thread_render.c @@ -31,7 +31,7 @@ evas_thread_queue_append(Evas_Thread_Command_Cb cb, void *data, Eina_Bool do_flu evas_thread_queue_cache_max = 0; } - cmd = eina_inarray_add(&evas_thread_queue); + cmd = eina_inarray_grow(&evas_thread_queue, 1); if (cmd) { cmd->cb = cb;