Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

coccinelle: replace 0/1 with false/true in functions returning bool

This semantic patch replaces "return {0,1};" with "return
{false,true};" in functions returning bool.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>

authored by

Rasmus Villemoes and committed by
Michal Marek
46b5c9b8 c95182bf

+58
+58
scripts/coccinelle/misc/boolreturn.cocci
··· 1 + /// Return statements in functions returning bool should use 2 + /// true/false instead of 1/0. 3 + // 4 + // Confidence: High 5 + // Options: --no-includes --include-headers 6 + 7 + virtual patch 8 + virtual report 9 + virtual context 10 + 11 + @r1 depends on patch@ 12 + identifier fn; 13 + typedef bool; 14 + symbol false; 15 + symbol true; 16 + @@ 17 + 18 + bool fn ( ... ) 19 + { 20 + <... 21 + return 22 + ( 23 + - 0 24 + + false 25 + | 26 + - 1 27 + + true 28 + ) 29 + ; 30 + ...> 31 + } 32 + 33 + @r2 depends on report || context@ 34 + identifier fn; 35 + position p; 36 + @@ 37 + 38 + bool fn ( ... ) 39 + { 40 + <... 41 + return 42 + ( 43 + * 0@p 44 + | 45 + * 1@p 46 + ) 47 + ; 48 + ...> 49 + } 50 + 51 + 52 + @script:python depends on report@ 53 + p << r2.p; 54 + fn << r2.fn; 55 + @@ 56 + 57 + msg = "WARNING: return of 0/1 in function '%s' with return type bool" % fn 58 + coccilib.report.print_report(p[0], msg)