src/array.c

changeset 369
28a8ccc442b0
parent 357
0f5732f0dc00
child 384
9b81a555c059
     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 +}

mercurial