Use list_move instead of combination of list_del() and list_add()

Signed-off-by: Kirill A. Shutemov <[email protected]>
Cc: Julia Lawall <[email protected]>
Cc: Gilles Muller <[email protected]>
Cc: Nicolas Palix <[email protected]>
Cc: [email protected]
---
 scripts/coccinelle/api/list/list_move.cocci |   41 +++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)
 create mode 100644 scripts/coccinelle/api/list/list_move.cocci

diff --git a/scripts/coccinelle/api/list/list_move.cocci 
b/scripts/coccinelle/api/list/list_move.cocci
new file mode 100644
index 0000000..2691a8a
--- /dev/null
+++ b/scripts/coccinelle/api/list/list_move.cocci
@@ -0,0 +1,41 @@
+///
+/// Use list_move() instead of combination of list_del() and list_add()
+///
+// Confidence: High
+// Copyright: (C) 2011 Kirill A. Shutemov. GPLv2.
+// Options: -no_includes -include_headers
+
+virtual context
+virtual patch
+virtual org
+virtual report
+
+@depends on context@
+expression a, b;
+@@
+
+* list_del(a);
+* list_add(a, b);
+
+@depends on patch@
+expression a, b;
+@@
+
+- list_del(a);
+- list_add(a, b);
++ list_move(a, b);
+
+@r depends on report || org@
+expression a, b;
+position p;
+@@
+
+ list_del@p(a);
+ list_add(a, b);
+
+@script:python depends on org || report@
+p << r.p;
+@@
+
+msg = "WARNING: list_move() can be used"
+coccilib.report.print_report(p[0], msg)
-- 
1.7.4.1

_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to