Browse Source

Convenience function to do a strcmp on each member of a smartlist of strings

svn:r2243
Nick Mathewson 21 years ago
parent
commit
15a903b21c
2 changed files with 9 additions and 0 deletions
  1. 8 0
      src/common/util.c
  2. 1 0
      src/common/util.h

+ 8 - 0
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) {

+ 1 - 0
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);