diff options
author | Nick Mathewson <nickm@torproject.org> | 2005-04-03 05:52:32 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2005-04-03 05:52:32 +0000 |
commit | ff545c3103c55b02b1239465b78033d6b937eda5 (patch) | |
tree | 9b340be3b3ef8bf5ed3604aa89248c4b704cbf44 /src/common/container.c | |
parent | 11d20d78a03f0befee32c17d50f9e5d294908689 (diff) | |
download | tor-ff545c3103c55b02b1239465b78033d6b937eda5.tar.gz tor-ff545c3103c55b02b1239465b78033d6b937eda5.zip |
Add useful smartlist_string_remove function.
svn:r3996
Diffstat (limited to 'src/common/container.c')
-rw-r--r-- | src/common/container.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/common/container.c b/src/common/container.c index 33df51f5b3..f3077176cf 100644 --- a/src/common/container.c +++ b/src/common/container.c @@ -118,6 +118,21 @@ void smartlist_remove(smartlist_t *sl, void *element) { } } +/** If there are any string in sl equal to element, remove the first. + * Does not preserve order. */ +void +smartlist_string_remove(smartlist_t *sl, const char *element) +{ + int i; + size_t len = smartlist_len(sl); + for (i = 0; i < len; ++i) { + if (!strcmp(element, smartlist_get(sl, i))) { + smartlist_del(sl, i); + return; + } + } +} + /** Return true iff some element E of sl has E==element. */ int smartlist_isin(const smartlist_t *sl, void *element) { |