diff options
Diffstat (limited to 'src/common/lists.c')
-rw-r--r-- | src/common/lists.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/common/lists.c b/src/common/lists.c index 9a93733..e629e9d 100644 --- a/src/common/lists.c +++ b/src/common/lists.c @@ -26,6 +26,7 @@ #define _BIRD_LISTS_C_ +#include <config.h> #include <stdlib.h> #include <string.h> #include "common/lists.h" @@ -158,3 +159,21 @@ void list_dup(list *dst, list *src, size_t itemsz) add_tail(dst, i); } } + +/** + * list_size - gets number of nodes + * @l: list + * + * This function counts nodes in list @l and returns this number. + */ +size_t list_size(const list *l) +{ + size_t count = 0; + + node *n = 0; + WALK_LIST(n, *l) { + count++; + } + + return count; +} |