Commit aeb300c1 authored by Denis Efremov's avatar Denis Efremov Committed by Julia Lawall
Browse files

coccinelle: misc: minmax: suppress patch generation for err returns



There is a standard idiom for "if 'ret' holds an error, return it":
	return ret < 0 ? ret : 0;

Developers prefer to keep the things as they are because stylistic
change to "return min(ret, 0);" breaks readability.

Let's suppress automatic generation for this type of patches.

Signed-off-by: default avatarDenis Efremov <efremov@linux.com>
parent 32c46561
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -116,16 +116,32 @@ func(...)
	...>
}

// Don't generate patches for errcode returns.
@errcode depends on patch@
position p;
identifier func;
expression x;
binary operator cmp = {<, <=};
@@

func(...)
{
	<...
	return ((x) cmp@p 0 ? (x) : 0);
	...>
}

@pmin depends on patch@
identifier func;
expression x, y;
binary operator cmp = {<=, <};
position p != errcode.p;
@@

func(...)
{
	<...
-	((x) cmp (y) ? (x) : (y))
-	((x) cmp@p (y) ? (x) : (y))
+	min(x, y)
	...>
}