diff options
author | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-04-17 19:24:19 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-04-17 19:25:21 -0400 |
commit | 64ddf6f684492152bc78269dca51725c0e285b86 (patch) | |
tree | c8d07871d52819abcc4d86ccfcfdc4f32b9ce55f /array.c | |
parent | fabe0baca982bbd124b60d6bc45ecb7e0fb15710 (diff) |
Use array_append_undefined() for generic arrays
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 16 |
1 files changed, 5 insertions, 11 deletions
@@ -180,19 +180,13 @@ nul_ptr_t nul_array_append (nul_ptr_t arr, nul_ptr_t element) { array_t *array = get_array (arr, &arr_t_magic); - char *data; - - array = realloc_array (array, array->n_elements + 1); - - data = (char *)array->data; - - data += array->n_elements++ * array->element_size; - memcpy (data, element, array->element_size); + char *tail; - data += array->element_size; - memset (data, 0, array->element_size); + array = array_append_undefined (array, 1, (void **)&tail); + + memcpy (tail, element, array->element_size); - return arr; + return array->data; } void |