12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- ///
- /// Use resource_size function on resource object
- /// instead of explicit computation.
- ///
- // Confidence: High
- // Copyright: (C) 2009, 2010 Nicolas Palix, DIKU. GPLv2.
- // Copyright: (C) 2009, 2010 Julia Lawall, DIKU. GPLv2.
- // Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6. GPLv2.
- // URL: http://coccinelle.lip6.fr/
- // Options:
- //
- // Keywords: resource_size
- // Version min: 2.6.27 resource_size
- //
- virtual context
- virtual patch
- virtual org
- virtual report
- //----------------------------------------------------------
- // For context mode
- //----------------------------------------------------------
- @r_context depends on context && !patch && !org@
- struct resource *res;
- @@
- * (res->end - res->start) + 1
- //----------------------------------------------------------
- // For patch mode
- //----------------------------------------------------------
- @r_patch depends on !context && patch && !org@
- struct resource *res;
- @@
- - (res->end - res->start) + 1
- + resource_size(res)
- //----------------------------------------------------------
- // For org mode
- //----------------------------------------------------------
- @r_org depends on !context && !patch && (org || report)@
- struct resource *res;
- position p;
- @@
- (res->end@p - res->start) + 1
- @rbad_org depends on !context && !patch && (org || report)@
- struct resource *res;
- position p != r_org.p;
- @@
- res->end@p - res->start
- @script:python depends on org@
- p << r_org.p;
- x << r_org.res;
- @@
- msg="ERROR with %s" % (x)
- msg_safe=msg.replace("[","@(").replace("]",")")
- coccilib.org.print_todo(p[0], msg_safe)
- @script:python depends on report@
- p << r_org.p;
- x << r_org.res;
- @@
- msg="ERROR: Missing resource_size with %s" % (x)
- coccilib.report.print_report(p[0], msg)
- @script:python depends on org@
- p << rbad_org.p;
- x << rbad_org.res;
- @@
- msg="WARNING with %s" % (x)
- msg_safe=msg.replace("[","@(").replace("]",")")
- coccilib.org.print_todo(p[0], msg_safe)
- @script:python depends on report@
- p << rbad_org.p;
- x << rbad_org.res;
- @@
- msg="WARNING: Suspicious code. resource_size is maybe missing with %s" % (x)
- coccilib.report.print_report(p[0], msg)
|