]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
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)
committerLennart Poettering <lennart@poettering.net>
Wed, 18 Apr 2018 10:35:45 +0000 (12:35 +0200)
src/basic/util.h

index 0db3627e24f84d473ca4701661dfa7fc01f07cec..ad1931f7b60b1108cabb6c1c69375bf88f012d07 100644 (file)
@@ -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.
  */