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-Tag: v239~393^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=adea407d111c04deef81e2e615de6102adb3956a;p=thirdparty%2Fsystemd.git util: add qsort_r_safe(), similar to qsort_safe() --- diff --git a/src/basic/util.h b/src/basic/util.h index 0db3627e24f..ad1931f7b60 100644 --- a/src/basic/util.h +++ b/src/basic/util.h @@ -111,6 +111,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. */