diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-10-19 04:52:25 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-10-19 04:53:45 +0200 |
commit | 857a493d55f94731394e4d9f61ffce661858e9a0 (patch) | |
tree | c22dbe69057894a6a76f8ba8d074a560af40a5bb /src/shared/strv.c | |
parent | 9590dfe771d1f499703414c5c5cf21eec7ef69a4 (diff) |
set: introduce strv_sort()
Diffstat (limited to 'src/shared/strv.c')
-rw-r--r-- | src/shared/strv.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/shared/strv.c b/src/shared/strv.c index 822b2dc888..1b8e27bc1b 100644 --- a/src/shared/strv.c +++ b/src/shared/strv.c @@ -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; +} |