1.1 --- a/src/array.c Wed Nov 06 21:01:25 2019 +0100 1.2 +++ b/src/array.c Thu Nov 07 10:10:36 2019 +0100 1.3 @@ -70,7 +70,7 @@ 1.4 } 1.5 1.6 int ucx_array_util_set_a(UcxAllocator* alloc, void** array, size_t* capacity, 1.7 - size_t elmsize, size_t index, ...) { 1.8 + size_t elmsize, size_t index, void* data) { 1.9 1.10 if(!alloc || !capacity || !array) { 1.11 errno = EINVAL; 1.12 @@ -104,16 +104,18 @@ 1.13 1.14 char* dest = *array; 1.15 dest += elmsize*index; 1.16 - 1.17 - va_list ap; 1.18 - va_start(ap, index); 1.19 - int elem = va_arg(ap, int); 1.20 - memcpy(dest, &elem, elmsize); 1.21 - va_end(ap); 1.22 + memcpy(dest, data, elmsize); 1.23 1.24 return 0; 1.25 } 1.26 1.27 +int ucx_array_util_setptr_a(UcxAllocator* alloc, void** array, size_t* capacity, 1.28 + size_t index, void* data) { 1.29 + 1.30 + return ucx_array_util_set_a(alloc, array, capacity, sizeof(void*), 1.31 + index, &data); 1.32 +} 1.33 + 1.34 UcxArray* ucx_array_new(size_t capacity, size_t elemsize) { 1.35 return ucx_array_new_a(capacity, elemsize, ucx_default_allocator()); 1.36 } 1.37 @@ -254,33 +256,6 @@ 1.38 return 0; 1.39 } 1.40 1.41 -int ucx_array_appendv(UcxArray *array, ...) { 1.42 - va_list ap; 1.43 - va_start(ap, array); 1.44 - int elem = va_arg(ap, int); 1.45 - int ret = ucx_array_append_from(array, &elem, 1); 1.46 - va_end(ap); 1.47 - return ret; 1.48 -} 1.49 - 1.50 -int ucx_array_prependv(UcxArray *array, ...) { 1.51 - va_list ap; 1.52 - va_start(ap, array); 1.53 - int elem = va_arg(ap, int); 1.54 - int ret = ucx_array_prepend_from(array, &elem, 1); 1.55 - va_end(ap); 1.56 - return ret; 1.57 -} 1.58 - 1.59 -int ucx_array_setv(UcxArray *array, size_t index, ...) { 1.60 - va_list ap; 1.61 - va_start(ap, index); 1.62 - int elem = va_arg(ap, int); 1.63 - int ret = ucx_array_set_from(array, index, &elem, 1); 1.64 - va_end(ap); 1.65 - return ret; 1.66 -} 1.67 - 1.68 int ucx_array_concat(UcxArray *array1, const UcxArray *array2) { 1.69 1.70 if (array1->elemsize != array2->elemsize) 1.71 @@ -486,3 +461,7 @@ 1.72 } 1.73 } 1.74 } 1.75 + 1.76 +int ucx_array_grow(UcxArray* array, size_t count) { 1.77 + return ucx_array_reserve(array, array->size+count); 1.78 +}