Linux Audio

Check our new training course

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