> From: Bruce Richardson [mailto:bruce.richard...@intel.com] > Sent: Friday, 3 June 2022 12.13 > > Add script to replace [0] with [] when used at the end of a struct. > The script also includes an additional struct member to match against > so > as to avoid issues with arrays with only a single zero-length element. > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > Acked-by: Morten Brørup <m...@smartsharesystems.com> > Acked-by: Stephen Hemminger <step...@networkplumber.org> > Acked-by: Hemant Agrawal <hemant.agra...@nxp.com> > --- > devtools/cocci/zero_length_array.cocci | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > create mode 100644 devtools/cocci/zero_length_array.cocci > > diff --git a/devtools/cocci/zero_length_array.cocci > b/devtools/cocci/zero_length_array.cocci > new file mode 100644 > index 0000000000..de8783bc7a > --- /dev/null > +++ b/devtools/cocci/zero_length_array.cocci > @@ -0,0 +1,21 @@ > +// Replace zero-length array members with [] > +@@ > +identifier st, member, arr; > +type T1, T2; > +@@ > +struct st { > + ... > + T1 member; > +- T2 arr[0]; > ++ T2 arr[]; > +}; > +@@ > +identifier st, member, arr, id; > +type T1, T2; > +@@ > +struct st { > + ... > + T1 member; > +- T2 arr[0]; > ++ T2 arr[]; > +} id; > -- > 2.34.1 >
Formally, arr[0] could be the only field in the structure, i.e. with no preceding fields. It would be silly, but consider checking for that too. PS: No worries about the name. Scandinavian letters can cause all sorts of problems.