free(l);
}
+void strv_freep(char ***l) {
+ if (!l)
+ return;
+
+ strv_free(*l);
+ *l = NULL;
+}
+
char **strv_copy(char **l) {
char **r, **k;
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;
+}