diff options
author | Søren Sandmann Pedersen <sandmann@redhat.com> | 2009-08-22 00:40:06 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@redhat.com> | 2009-08-22 00:40:06 -0400 |
commit | f61470d0bf5a9473e6faf54b7241126cc217c426 (patch) | |
tree | c0ba0b37cb85428b208d25cec1c021ca40f8224e /array.c | |
parent | ba8d2b59c5fb4dee638cae30001521fb0be4e6bf (diff) |
Add array_set_size() methods; port nul_poll to use it
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -239,6 +239,22 @@ array_remove (void *data, return array->data; } +static void * +array_set_size (void *data, + const int *magic, + gsize n_elements) +{ + array_t *array = get_array (data, magic); + + array = realloc_array (array, n_elements); + + array->n_elements = n_elements; + + nul_terminate (array); + + return array->data; +} + static gssize array_len (const void *data, const int *magic) { @@ -306,6 +322,12 @@ nul_garray_remove_fast (nul_ptr_t arr, nul_ptr_t element) return array_remove (arr, &arr_t_magic, element, TRUE); } +nul_ptr_t +nul_garray_set_size (nul_ptr_t arr, gsize n_elements) +{ + return array_set_size (arr, &arr_t_magic, n_elements); +} + /* * Strings */ |