chiark / gitweb /
set: introduce strv_sort()
[elogind.git] / src / shared / strv.c
index 822b2dc888e3865bd80341bbb6dc96d6c3874920..1b8e27bc1b963aa6ccbe2a34d437880110bb6250 100644 (file)
@@ -735,3 +735,18 @@ bool strv_overlap(char **a, char **b) {
 
         return false;
 }
+
+static int str_compare(const void *_a, const void *_b) {
+        const char **a = (const char**) _a, **b = (const char**) _b;
+
+        return strcmp(*a, *b);
+}
+
+char **strv_sort(char **l) {
+
+        if (strv_isempty(l))
+                return l;
+
+        qsort(l, strv_length(l), sizeof(char*), str_compare);
+        return l;
+}