From cb3c36b8bf926e208b9817926d40cf7956f34b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 18 Oct 2022 11:15:57 +0200 Subject: [PATCH] Add ISC_{LIST,LINK}_INITIALIZER for designated initializers Since we are using designated initializers, we were missing initializers for ISC_LIST and ISC_LINK, add them, so you can do *foo = (foo_t){ .list = ISC_LIST_INITIALIZER }; Instead of: *foo = (foo_t){ 0 }; ISC_LIST_INIT(foo->list); --- lib/isc/include/isc/list.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/isc/include/isc/list.h b/lib/isc/include/isc/list.h index b7a783c3ad..007cec0f30 100644 --- a/lib/isc/include/isc/list.h +++ b/lib/isc/include/isc/list.h @@ -15,6 +15,16 @@ #include +#define ISC_LIST_INITIALIZER \ + { \ + .head = NULL, .tail = NULL, \ + } +#define ISC_LINK_INITIALIZER_TYPE(type) \ + { \ + .prev = (type *)-1, .next = (type *)-1, \ + } +#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void) + #ifdef ISC_LIST_CHECKINIT #define ISC_LINK_INSIST(x) ISC_INSIST(x) #else /* ifdef ISC_LIST_CHECKINIT */