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 <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
88ce3ef636
commit
76d8d45ffb
|
@ -10,17 +10,9 @@ expression E;
|
||||||
- if (!E)
|
- if (!E)
|
||||||
free(E);
|
free(E);
|
||||||
|
|
||||||
@@
|
|
||||||
type T;
|
|
||||||
T *ptr;
|
|
||||||
@@
|
|
||||||
- free(ptr);
|
|
||||||
- ptr = NULL;
|
|
||||||
+ FREE_AND_NULL(ptr);
|
|
||||||
|
|
||||||
@@
|
@@
|
||||||
expression E;
|
expression E;
|
||||||
@@
|
@@
|
||||||
- free(E);
|
- free(E);
|
||||||
- E = NULL;
|
|
||||||
+ FREE_AND_NULL(E);
|
+ FREE_AND_NULL(E);
|
||||||
|
- E = NULL;
|
||||||
|
|
Loading…
Reference in New Issue