summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-08-21 10:49:58 +0200
committerMichal Marek <mmarek@suse.cz>2012-08-31 16:55:15 +0200
commit3085897359d80e73da2b4ea32ade7a9095594422 (patch)
treec4341eae2f9af55c41e31a0debd22f7cbe5c8ef9 /scripts
parent8700d3cd7b92267ebc00b011433389489243fde0 (diff)
downloadop-kernel-dev-3085897359d80e73da2b4ea32ade7a9095594422.zip
op-kernel-dev-3085897359d80e73da2b4ea32ade7a9095594422.tar.gz
scripts/coccinelle: ptr_ret: Add ternary operator version
Add a ternary operator version of the open-coded PTR_RET(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/coccinelle/api/ptr_ret.cocci26
1 files changed, 26 insertions, 0 deletions
diff --git a/scripts/coccinelle/api/ptr_ret.cocci b/scripts/coccinelle/api/ptr_ret.cocci
index cbfd08c..15f076f 100644
--- a/scripts/coccinelle/api/ptr_ret.cocci
+++ b/scripts/coccinelle/api/ptr_ret.cocci
@@ -30,6 +30,13 @@ expression ptr;
- if (IS_ERR(ptr)) return PTR_ERR(ptr); return 0;
+ return PTR_RET(ptr);
+@depends on patch@
+expression ptr;
+@@
+
+- (IS_ERR(ptr) ? PTR_ERR(ptr) : 0)
++ PTR_RET(ptr)
+
@r1 depends on !patch@
expression ptr;
position p1;
@@ -44,6 +51,13 @@ position p2;
* if@p2 (IS_ERR(ptr)) return PTR_ERR(ptr); return 0;
+@r3 depends on !patch@
+expression ptr;
+position p3;
+@@
+
+* IS_ERR@p3(ptr) ? PTR_ERR(ptr) : 0
+
@script:python depends on org@
p << r1.p1;
@@
@@ -57,6 +71,12 @@ p << r2.p2;
coccilib.org.print_todo(p[0], "WARNING: PTR_RET can be used")
+@script:python depends on org@
+p << r3.p3;
+@@
+
+coccilib.org.print_todo(p[0], "WARNING: PTR_RET can be used")
+
@script:python depends on report@
p << r1.p1;
@@
@@ -68,3 +88,9 @@ p << r2.p2;
@@
coccilib.report.print_report(p[0], "WARNING: PTR_RET can be used")
+
+@script:python depends on report@
+p << r3.p3;
+@@
+
+coccilib.report.print_report(p[0], "WARNING: PTR_RET can be used")
OpenPOWER on IntegriCloud