chiark / gitweb /
util: add qsort_r_safe(), similar to qsort_safe()
authorLennart Poettering <lennart@poettering.net>
Wed, 11 Apr 2018 17:51:39 +0000 (19:51 +0200)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
src/basic/util.h

index 825f04235e1bf35748267e9cc57dbc75d2d08f62..7722e583cde21fcdc6c2cca279bb40c5bb380055 100644 (file)
@@ -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.
  */