From 15a903b21ce93800d5f3867bcb1eccfc349e653f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 16 Aug 2004 20:46:00 +0000 Subject: Convenience function to do a strcmp on each member of a smartlist of strings svn:r2243 --- src/common/util.c | 8 ++++++++ src/common/util.h | 1 + 2 files changed, 9 insertions(+) (limited to 'src/common') diff --git a/src/common/util.c b/src/common/util.c index 50010bcb43..68d858e82f 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 0bf0a8c6ed..915fb9d9ad 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); -- cgit v1.2.3-54-g00ecf