aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/util.c8
-rw-r--r--src/common/util.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/common/util.c b/src/common/util.c
index 50010bcb4..68d858e82 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -360,6 +360,14 @@ int smartlist_isin(const smartlist_t *sl, void *element) {
return 0;
}
+int smartlist_string_isin(const smartlist_t *sl, const char *element) {
+ int i;
+ for(i=0; i < sl->num_used; i++)
+ if(strcmp((const char*)sl->list[i],element)==0)
+ return 1;
+ return 0;
+}
+
/** Return true iff some element E of sl2 has smartlist_isin(sl1,E).
*/
int smartlist_overlap(const smartlist_t *sl1, const smartlist_t *sl2) {
diff --git a/src/common/util.h b/src/common/util.h
index 0bf0a8c6e..915fb9d9a 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -147,6 +147,7 @@ void smartlist_add(smartlist_t *sl, void *element);
void smartlist_add_all(smartlist_t *sl, const smartlist_t *s2);
void smartlist_remove(smartlist_t *sl, void *element);
int smartlist_isin(const smartlist_t *sl, void *element);
+int smartlist_string_isin(const smartlist_t *sl, const char *element);
int smartlist_overlap(const smartlist_t *sl1, const smartlist_t *sl2);
void smartlist_intersect(smartlist_t *sl1, const smartlist_t *sl2);
void smartlist_subtract(smartlist_t *sl1, const smartlist_t *sl2);