summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHongbo Li <lihongbo22@huawei.com>2024-09-11 09:09:19 +0800
committerJulia Lawall <Julia.Lawall@inria.fr>2024-09-28 21:21:50 +0200
commit8a0236bab4d6f0761f29eae4d55d1ba32c1ecd47 (patch)
tree91604f81b5417c85edc40e29274980c73f23d6d1
parent716bf84ef39218a56fadaa413f70da008ad85888 (diff)
coccinelle: Add rules to find str_false_true() replacements
As done with str_true_false(), add checks for str_false_true() opportunities. A simple test can find over 9 cases currently exist in the tree. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
-rw-r--r--scripts/coccinelle/api/string_choices.cocci19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/coccinelle/api/string_choices.cocci b/scripts/coccinelle/api/string_choices.cocci
index 6942ad7c4224..c3c5bc94fab0 100644
--- a/scripts/coccinelle/api/string_choices.cocci
+++ b/scripts/coccinelle/api/string_choices.cocci
@@ -104,3 +104,22 @@ e << str_true_false_r.E;
@@
coccilib.report.print_report(p[0], "opportunity for str_true_false(%s)" % e)
+
+@str_false_true depends on patch@
+expression E;
+@@
+- ((E) ? "false" : "true")
++ str_false_true(E)
+
+@str_false_true_r depends on !patch exists@
+expression E;
+position P;
+@@
+* ((E@P) ? "false" : "true")
+
+@script:python depends on report@
+p << str_false_true_r.P;
+e << str_false_true_r.E;
+@@
+
+coccilib.report.print_report(p[0], "opportunity for str_false_true(%s)" % e)