From: Steve Sistare Date: Tue, 27 Feb 2024 15:33:19 +0000 (+0100) Subject: qapi: New QAPI_LIST_LENGTH() X-Git-Tag: v9.0.0-rc0~34^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=745736ae0cbe48dd7d58456baf084dc106320a87;p=thirdparty%2Fqemu.git qapi: New QAPI_LIST_LENGTH() Signed-off-by: Steve Sistare Reviewed-by: Marc-André Lureau Message-ID: <20240227153321.467343-2-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Markus Armbruster --- diff --git a/include/qapi/util.h b/include/qapi/util.h index 81a2b13a333..20dfea8a545 100644 --- a/include/qapi/util.h +++ b/include/qapi/util.h @@ -56,4 +56,17 @@ int parse_qapi_name(const char *name, bool complete); (tail) = &(*(tail))->next; \ } while (0) +/* + * For any GenericList @list, return its length. + */ +#define QAPI_LIST_LENGTH(list) \ + ({ \ + size_t _len = 0; \ + typeof(list) _tail; \ + for (_tail = list; _tail != NULL; _tail = _tail->next) { \ + _len++; \ + } \ + _len; \ + }) + #endif