From 4051804901e15ecbf0a1588c845dad740e5f3141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Wed, 14 Jun 2017 14:03:44 +0200 Subject: array: add array_sort utility function --- array.c | 4 ++++ array.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/array.c b/array.c index 25f471b..d0f937d 100644 --- a/array.c +++ b/array.c @@ -143,3 +143,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); +} diff --git a/array.h b/array.h index a01f19a..8417f7d 100644 --- a/array.h +++ b/array.h @@ -102,5 +102,9 @@ bool array_truncate(Array*, size_t length); * @endrst */ bool array_resize(Array*, size_t length); +/** + * Sort array, the comparision function works as for `qsort(3)`. + */ +void array_sort(Array*, int (*compar)(const void*, const void*)); #endif -- cgit v1.2.3