Linux Audio

Check our new training course

Loading...
v6.8
 1// SPDX-License-Identifier: GPL-2.0-only
 2///
 3/// Use resource_size function on resource object
 4/// instead of explicit computation.
 5///
 6//  Confidence: High
 7//  Copyright: (C) 2009, 2010 Nicolas Palix, DIKU.
 8//  Copyright: (C) 2009, 2010 Julia Lawall, DIKU.
 9//  Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6.
10//  URL: https://coccinelle.gitlabpages.inria.fr/website
11//  Options:
12//
13//  Keywords: resource_size
14//  Version min: 2.6.27 resource_size
15//
16
17virtual context
18virtual patch
19virtual org
20virtual report
21
22//----------------------------------------------------------
23//  For context mode
24//----------------------------------------------------------
25
26@r_context depends on context && !patch && !org@
27struct resource *res;
28@@
29
30* (res->end - res->start) + 1
31
32//----------------------------------------------------------
33//  For patch mode
34//----------------------------------------------------------
35
36@r_patch depends on !context && patch && !org@
37struct resource *res;
38@@
39
40- (res->end - res->start) + 1
41+ resource_size(res)
42
43//----------------------------------------------------------
44//  For org mode
45//----------------------------------------------------------
46
47
48@r_org depends on !context && !patch && (org || report)@
49struct resource *res;
50position p;
51@@
52
53 (res->end@p - res->start) + 1
54
55@rbad_org depends on !context && !patch && (org || report)@
56struct resource *res;
57position p != r_org.p;
58@@
59
60 res->end@p - res->start
61
62@script:python depends on org@
63p << r_org.p;
64x << r_org.res;
65@@
66
67msg="ERROR with %s" % (x)
68msg_safe=msg.replace("[","@(").replace("]",")")
69coccilib.org.print_todo(p[0], msg_safe)
70
71@script:python depends on report@
72p << r_org.p;
73x << r_org.res;
74@@
75
76msg="ERROR: Missing resource_size with %s" % (x)
77coccilib.report.print_report(p[0], msg)
78
79@script:python depends on org@
80p << rbad_org.p;
81x << rbad_org.res;
82@@
83
84msg="WARNING with %s" % (x)
85msg_safe=msg.replace("[","@(").replace("]",")")
86coccilib.org.print_todo(p[0], msg_safe)
87
88@script:python depends on report@
89p << rbad_org.p;
90x << rbad_org.res;
91@@
92
93msg="WARNING: Suspicious code. resource_size is maybe missing with %s" % (x)
94coccilib.report.print_report(p[0], msg)
v4.6
 
 1///
 2/// Use resource_size function on resource object
 3/// instead of explicit computation.
 4///
 5//  Confidence: High
 6//  Copyright: (C) 2009, 2010 Nicolas Palix, DIKU.  GPLv2.
 7//  Copyright: (C) 2009, 2010 Julia Lawall, DIKU.  GPLv2.
 8//  Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6.  GPLv2.
 9//  URL: http://coccinelle.lip6.fr/
10//  Options:
11//
12//  Keywords: resource_size
13//  Version min: 2.6.27 resource_size
14//
15
16virtual context
17virtual patch
18virtual org
19virtual report
20
21//----------------------------------------------------------
22//  For context mode
23//----------------------------------------------------------
24
25@r_context depends on context && !patch && !org@
26struct resource *res;
27@@
28
29* (res->end - res->start) + 1
30
31//----------------------------------------------------------
32//  For patch mode
33//----------------------------------------------------------
34
35@r_patch depends on !context && patch && !org@
36struct resource *res;
37@@
38
39- (res->end - res->start) + 1
40+ resource_size(res)
41
42//----------------------------------------------------------
43//  For org mode
44//----------------------------------------------------------
45
46
47@r_org depends on !context && !patch && (org || report)@
48struct resource *res;
49position p;
50@@
51
52 (res->end@p - res->start) + 1
53
54@rbad_org depends on !context && !patch && (org || report)@
55struct resource *res;
56position p != r_org.p;
57@@
58
59 res->end@p - res->start
60
61@script:python depends on org@
62p << r_org.p;
63x << r_org.res;
64@@
65
66msg="ERROR with %s" % (x)
67msg_safe=msg.replace("[","@(").replace("]",")")
68coccilib.org.print_todo(p[0], msg_safe)
69
70@script:python depends on report@
71p << r_org.p;
72x << r_org.res;
73@@
74
75msg="ERROR: Missing resource_size with %s" % (x)
76coccilib.report.print_report(p[0], msg)
77
78@script:python depends on org@
79p << rbad_org.p;
80x << rbad_org.res;
81@@
82
83msg="WARNING with %s" % (x)
84msg_safe=msg.replace("[","@(").replace("]",")")
85coccilib.org.print_todo(p[0], msg_safe)
86
87@script:python depends on report@
88p << rbad_org.p;
89x << rbad_org.res;
90@@
91
92msg="WARNING: Suspicious code. resource_size is maybe missing with %s" % (x)
93coccilib.report.print_report(p[0], msg)