[v4,1/4] cocci: add script for zero-length arrays in structs

Message ID 20220603111625.562070-2-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series clean up zero-length arrays |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Bruce Richardson June 3, 2022, 11:16 a.m. UTC
  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.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 devtools/cocci/zero_length_array.cocci | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 devtools/cocci/zero_length_array.cocci
  

Patch

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;