aboutsummaryrefslogtreecommitdiff
path: root/scripts/coccinelle/remove_local_err.cocci
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2016-06-13 18:57:57 -0300
committerMarkus Armbruster <armbru@redhat.com>2016-06-20 16:38:13 +0200
commit6b62d961373e0327f2af8fb77d6d5d6308864180 (patch)
tree540a92df500ef4f4056110a80ae309636ec5756e /scripts/coccinelle/remove_local_err.cocci
parent621ff94d5074d88253a5818c6b9c4db718fbfc65 (diff)
error: Remove unnecessary local_err variables
This patch simplifies code that uses a local_err variable just to immediately use it for an error_propagate() call. Coccinelle patch used to perform the changes added to scripts/coccinelle/remove_local_err.cocci. Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <1465855078-19435-3-git-send-email-ehabkost@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Blank line in s390-virtio-ccw.c restored] Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'scripts/coccinelle/remove_local_err.cocci')
-rw-r--r--scripts/coccinelle/remove_local_err.cocci29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/coccinelle/remove_local_err.cocci b/scripts/coccinelle/remove_local_err.cocci
new file mode 100644
index 0000000000..9261c99687
--- /dev/null
+++ b/scripts/coccinelle/remove_local_err.cocci
@@ -0,0 +1,29 @@
+// Replace unnecessary usage of local_err variable with
+// direct usage of errp argument
+
+@@
+identifier F;
+expression list ARGS;
+expression F2;
+identifier LOCAL_ERR;
+identifier ERRP;
+idexpression V;
+typedef Error;
+@@
+ F(..., Error **ERRP)
+ {
+ ...
+- Error *LOCAL_ERR;
+ ... when != LOCAL_ERR
+ when != ERRP
+(
+- F2(ARGS, &LOCAL_ERR);
+- error_propagate(ERRP, LOCAL_ERR);
++ F2(ARGS, ERRP);
+|
+- V = F2(ARGS, &LOCAL_ERR);
+- error_propagate(ERRP, LOCAL_ERR);
++ V = F2(ARGS, ERRP);
+)
+ ... when != LOCAL_ERR
+ }