summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/strv.c11
-rw-r--r--src/shared/strv.h2
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_;