diff options
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -177,6 +177,14 @@ array_append (void *data, return data; } +static gssize +array_len (void *data, const int *magic) +{ + array_t *array = get_array (data, magic); + + return array->n_elements; +} + /***************************** individual array implementations ****************************/ /* Generic arrays @@ -215,7 +223,7 @@ nul_array_free (nul_ptr_t array) gsize nul_array_len (nul_ptr_t array) { - return get_array (array, &arr_t_magic)->n_elements; + return array_len (array, &arr_t_magic); } /* Pointer arrays. The idiomatic way to iterate through such an array is: @@ -272,7 +280,7 @@ nul_ptr_array_free (void **arr) gsize nul_ptr_array_len (void *const *arr) { - return get_array (arr, &parr_t_magic)->n_elements; + return array_len (arr, &parr_t_magic); } /* @@ -295,7 +303,7 @@ nul_string_free (nul_string_t *str) gsize nul_string_len (const nul_string_t *str) { - return get_array (str, &string_t_magic)->n_elements; + return array_len (str, &string_t_magic); } gboolean |