From 76d8d45ffbc2cee911a66bdc5b6280a00da1a555 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ren=C3=A9=20Scharfe?= Date: Sun, 25 Jun 2017 10:01:04 +0200 Subject: [PATCH] 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 --- contrib/coccinelle/free.cocci | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) 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; -- 2.43.2