From 473de9b7086d4de122283f68e554ac4357369e34 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Thu, 1 Oct 2020 16:13:30 +0200 Subject: [PATCH] coccinelle: fix the equals-null transformation The original issue with this transformation was that we were replacing the whole if statement instead of just the expression inside. That caused the code to be weirdly formatted, as Coccinelle put a new block around each replaced if statement. This version replaces just the inner expression if it's in its incorrect form, otherwise it just accepts it (to avoid recursion). --- coccinelle/equals-null.cocci | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/coccinelle/equals-null.cocci b/coccinelle/equals-null.cocci index 957d828a83..3fce0f4caa 100644 --- a/coccinelle/equals-null.cocci +++ b/coccinelle/equals-null.cocci @@ -2,13 +2,28 @@ expression e; statement s; @@ -- if (e == NULL) -+ if (!e) -s +if ( +( +!e +| +- e == NULL ++ !e +) + ) + {...} +else s + @@ expression e; statement s; @@ -- if (e != NULL) -+ if (e) -s +if ( +( +e +| +- e != NULL ++ e +) + ) + {...} +else s