> 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.

Reply via email to