From: René Scharfe Date: Sun, 25 Jun 2017 08:01:04 +0000 (+0200) Subject: coccinelle: polish FREE_AND_NULL rules X-Git-Tag: v2.14.0-rc0~21^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=76d8d45ffbc2cee911a66bdc5b6280a00da1a555;p=git coccinelle: polish FREE_AND_NULL rules There are two rules for using FREE_AND_NULL in free.cocci, one for pointer types and one for expressions. Both cause coccinelle to remove empty lines and even newline characters between replacements for some reason; consecutive "free(x);/x=NULL;" sequences end up as multiple FREE_AND_NULL calls on the same time. Remove the type rule, as the expression rule already covers it, and rearrange the lines of the latter to place the addition of FREE_AND_NULL between the removals, which causes coccinelle to leave surrounding whitespace untouched. Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- diff --git a/contrib/coccinelle/free.cocci b/contrib/coccinelle/free.cocci index f2d97e755b..4490069df9 100644 --- a/contrib/coccinelle/free.cocci +++ b/contrib/coccinelle/free.cocci @@ -10,17 +10,9 @@ expression E; - if (!E) free(E); -@@ -type T; -T *ptr; -@@ -- free(ptr); -- ptr = NULL; -+ FREE_AND_NULL(ptr); - @@ expression E; @@ - free(E); -- E = NULL; + FREE_AND_NULL(E); +- E = NULL;