diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-04-11 19:51:39 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2018-08-24 16:47:08 +0200 |
commit | 992056e7763dab6d1c3babd15e53ae0a100ecbec (patch) | |
tree | 53f53be5bee4e7d3ee88398b6e213e4bd0b4fc17 | |
parent | f54d8b36ba87e11d90e98d92d99ff07ba3764401 (diff) |
util: add qsort_r_safe(), similar to qsort_safe()
-rw-r--r-- | src/basic/util.h | 8 |
1 files changed, 8 insertions, 0 deletions
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. */ |