Use the same pattern for cb_init() as the one established in the recent refactoring of other such patterns in 5726a6b4012 (*.c *_init(): define in terms of corresponding *_INIT macro, 2021-07-01). It has been pointed out[1] that we could perhaps use this C99 replacement of using a compound literal for all of these: *t = (struct cb_tree){ 0 }; But let's just stick to the existing pattern established in 5726a6b4012 for now, we can leave another weather balloon for some other time. 1. http://lore.kernel.org/git/ef724a3a-a4b8-65d3-c928-13a7d78f189a@xxxxxxxxx Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- cbtree.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cbtree.h b/cbtree.h index a04a312c3f5..dedbb8e2a45 100644 --- a/cbtree.h +++ b/cbtree.h @@ -37,11 +37,12 @@ enum cb_next { CB_BREAK = 1 }; -#define CBTREE_INIT { .root = NULL } +#define CBTREE_INIT { 0 } static inline void cb_init(struct cb_tree *t) { - t->root = NULL; + struct cb_tree blank = CBTREE_INIT; + memcpy(t, &blank, sizeof(*t)); } struct cb_node *cb_lookup(struct cb_tree *, const uint8_t *k, size_t klen); -- 2.33.0.1316.gb2e9b3ba3ae