Re: [PATCH] checkpatch: prefer = {} initializations to = {0}

From: Joe Perches
Date: Thu Aug 05 2021 - 14:04:22 EST


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
},
...,
};