From: Lennart Poettering Date: Wed, 11 Apr 2018 17:51:39 +0000 (+0200) Subject: util: add qsort_r_safe(), similar to qsort_safe() X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=992056e7763dab6d1c3babd15e53ae0a100ecbec;p=elogind.git util: add qsort_r_safe(), similar to qsort_safe() --- diff --git a/src/basic/util.h b/src/basic/util.h index 825f04235..7722e583c 100644 --- a/src/basic/util.h +++ b/src/basic/util.h @@ -119,6 +119,14 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, comparison_ qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ }) +static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, int (*compar)(const void*, const void*, void*), void *userdata) { + if (nmemb <= 1) + return; + + assert(base); + qsort_r(base, nmemb, size, compar, userdata); +} + /** * Normal memcpy requires src to be nonnull. We do nothing if n is 0. */