summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-04-11 19:51:39 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commit992056e7763dab6d1c3babd15e53ae0a100ecbec (patch)
tree53f53be5bee4e7d3ee88398b6e213e4bd0b4fc17
parentf54d8b36ba87e11d90e98d92d99ff07ba3764401 (diff)
util: add qsort_r_safe(), similar to qsort_safe()
-rw-r--r--src/basic/util.h8
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.
*/