diff --git a/src/lib/eina/eina_inarray.c b/src/lib/eina/eina_inarray.c index e674a20f3c..c1e07bed6d 100644 --- a/src/lib/eina/eina_inarray.c +++ b/src/lib/eina/eina_inarray.c @@ -382,6 +382,19 @@ eina_inarray_flush(Eina_Inarray *array) array->members = NULL; } +EAPI Eina_Bool +eina_inarray_resize(Eina_Inarray *array, unsigned int new_size) +{ + Eina_Bool r; + EINA_MAGIC_CHECK_INARRAY(array, EINA_FALSE); + + r = _eina_inarray_resize(array, new_size); + if(!r) return EINA_FALSE; + + array->len = new_size; + return EINA_TRUE; +} + EAPI int eina_inarray_push(Eina_Inarray *array, const void *data) { diff --git a/src/lib/eina/eina_inarray.h b/src/lib/eina/eina_inarray.h index 9d7f9f6d8c..b9010d7d4e 100644 --- a/src/lib/eina/eina_inarray.h +++ b/src/lib/eina/eina_inarray.h @@ -601,6 +601,16 @@ EAPI int eina_inarray_foreach_remove(Eina_Inarray *array, Eina_Each_Cb match, const void *user_data) EINA_ARG_NONNULL(1, 2); +/** + * @brief Resize array to new size + * @param array array object + * @param new_size + * @return #EINA_TRUE if it successfully resized the array + * + * @since 1.10 + */ +EAPI Eina_Bool eina_inarray_resize(Eina_Inarray *array, unsigned int new_size); + /** * @brief number of members in array. * @param array array object