From: Maria Matejka Date: Thu, 21 Mar 2024 22:37:04 +0000 (+0100) Subject: Typed list: macro for list length X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76e43b405fa605f58046ea64e426b599f5fd0ae3;p=thirdparty%2Fbird.git Typed list: macro for list length --- diff --git a/lib/tlists.h b/lib/tlists.h index 70b8eb3f4..96172ad6c 100644 --- a/lib/tlists.h +++ b/lib/tlists.h @@ -231,5 +231,8 @@ static inline void TLIST_NAME(rem_node)(TLIST_LIST_STRUCT *list, TLIST_TYPE *nod /* Empty check */ #define EMPTY_TLIST(_name, _list) (!(_list)->first) +/* List length */ +#define TLIST_LENGTH(_name, _list) ({ uint _len = 0; WALK_TLIST(_name, _, _list) _len++; _len; }) + #endif