diff mbox series

coccinelle: combine two rules from qsort.cocci

Message ID c19a6e52-3c13-1ff1-a313-d0d951328e29@web.de (mailing list archive)
State New, archived
Headers show
Series coccinelle: combine two rules from qsort.cocci | expand

Commit Message

Markus Elfring Nov. 12, 2019, 7:23 p.m. UTC
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(-)

--
2.24.0
diff mbox series

Patch

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;