From 32c49ea1348b1843ba1829dbaed15382d4c0767d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 2 Feb 2018 13:06:02 +0100 Subject: misc: Add ssh_list_count() Signed-off-by: Andreas Schneider --- src/misc.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src') diff --git a/src/misc.c b/src/misc.c index 9f424281..9817bbfc 100644 --- a/src/misc.c +++ b/src/misc.c @@ -397,6 +397,25 @@ struct ssh_iterator *ssh_list_find(const struct ssh_list *list, void *value){ return NULL; } +/** + * @brief Get the number of elements in the list + * + * @param[in] list The list to count. + * + * @return The number of elements in the list. + */ +size_t ssh_list_count(const struct ssh_list *list) +{ + struct ssh_iterator *it = NULL; + int count = 0; + + for (it = ssh_list_get_iterator(list); it != NULL ; it = it->next) { + count++; + } + + return count; +} + static struct ssh_iterator *ssh_iterator_new(const void *data){ struct ssh_iterator *iterator=malloc(sizeof(struct ssh_iterator)); if(!iterator) -- cgit v1.2.3