threads / patch / 52249

patchcoccinelle: combine two rules from qsort.cocci

Subject: [PATCH] coccinelle: combine two rules from qsort.cocci

## tl;dr

One message between Nov 12, 2019 and Nov 12, 2019. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Markus Elfring· Nov 12, 2019, 19:23 UTC · lore
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 12 Nov 2019 20:20:13 +0100

This script contained two transformation rules for the semantic patch language which used duplicate code.

* Reduce duplication by merging common code from these rules.
* Use a SmPL disjunction for the pointer determination according to
  a sizeof operator.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 contrib/coccinelle/qsort.cocci | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)
Show changes to contrib/coccinelle/qsort.cocci +5 −9
diff --git a/contrib/coccinelle/qsort.cocci b/contrib/coccinelle/qsort.cocci
index 22b93a9966..1c9a12c7c0 100644
--- a/contrib/coccinelle/qsort.cocci
+++ b/contrib/coccinelle/qsort.cocci
@@ -1,14 +1,11 @@
 @@
 expression base, nmemb, compar;
 @@
-- qsort(base, nmemb, sizeof(*base), compar);
-+ QSORT(base, nmemb, compar);
-
-@@
-expression base, nmemb, compar;
-@@
-- qsort(base, nmemb, sizeof(base[0]), compar);
-+ QSORT(base, nmemb, compar);
+-qsort
++QSORT
+      (base, nmemb,
+-      sizeof( \( *base \| base[0] \) ),
+       compar);

 @@
 type T;
--
2.24.0

← back to recent threads