diff --git a/trunk/src/common/util.c b/trunk/src/common/util.c index 50010bcb43..68d858e82f 100644 --- a/trunk/src/common/util.c +++ b/trunk/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/trunk/src/common/util.h b/trunk/src/common/util.h index 0bf0a8c6ed..915fb9d9ad 100644 --- a/trunk/src/common/util.h +++ b/trunk/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);