diff options
Diffstat (limited to 'array.c')
| -rw-r--r-- | array.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -11,6 +11,10 @@ void array_init(Array *arr) { array_init_sized(arr, sizeof(void*)); } +void array_init_from(Array *arr, Array *from) { + array_init_sized(arr, from->elem_size); +} + void array_init_sized(Array *arr, size_t elem_size) { memset(arr, 0, sizeof *arr); arr->elem_size = elem_size; @@ -143,3 +147,7 @@ bool array_resize(Array *arr, size_t len) { } return false; } + +void array_sort(Array *arr, int (*compar)(const void*, const void*)) { + qsort(arr->items, arr->len, arr->elem_size, compar); +} |
