On Thu, 2021-08-05 at 20:17 +0200, Julia Lawall wrote: > On Thu, 5 Aug 2021, Joe Perches wrote: > > On Thu, 2021-08-05 at 05:27 -0700, Joe Perches wrote: > > > On Thu, 2021-08-05 at 13:43 +0300, Dan Carpenter wrote: > > > > The "= {};" style empty struct initializer is preferred over = {0}. > > > > It avoids the situation where the first struct member is a pointer and > > > > that generates a Sparse warning about assigning using zero instead of > > > > NULL. Also it's just nicer to look at. > > > > Perhaps a cocci script like the below could help too: > > > > $ cat zero_init_struct.cocci > > @@ > > identifier name; > > identifier t; > > @@ > > > > struct name t = { > > - 0 > > }; > > > > @@ > > identifier name; > > identifier t; > > identifier member; > > @@ > > > > struct name t = { > > ..., > > .member = { > > - 0 > > }, > > ..., > > }; > > My test turns up over 1900 occurrences. There is the question of whether > {} or { } is preferred. The above semantic patch replaces {0} by {} and > ( 0 } by { }. I saw that and I don't recall how to force one style or another to be output.