diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/strv.c | 11 | ||||
-rw-r--r-- | src/shared/strv.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/shared/strv.c b/src/shared/strv.c index aeb93eac6b..a5f8a2aff6 100644 --- a/src/shared/strv.c +++ b/src/shared/strv.c @@ -587,6 +587,17 @@ char **strv_sort(char **l) { return l; } +bool strv_equal(char **a, char **b) { + if (!a || !b) + return a == b; + + for ( ; *a || *b; ++a, ++b) + if (!streq_ptr(*a, *b)) + return false; + + return true; +} + void strv_print(char **l) { char **s; diff --git a/src/shared/strv.h b/src/shared/strv.h index 47618bd26c..774c67a8c8 100644 --- a/src/shared/strv.h +++ b/src/shared/strv.h @@ -49,6 +49,8 @@ int strv_consume_prepend(char ***l, char *value); char **strv_remove(char **l, const char *s); char **strv_uniq(char **l); +bool strv_equal(char **a, char **b); + #define strv_contains(l, s) (!!strv_find((l), (s))) char **strv_new(const char *x, ...) _sentinel_; |