Commit 15a903b2 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

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


svn:r2243
parent bec9a6eb
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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);