{"thread":{"id":"52248","subject":"[PATCH] coccinelle: merge three rules from qsort.cocci","startedAt":"2019-11-12T18:36:51Z","lastAt":"2019-11-12T18:36:51Z","messageCount":1,"participants":["Markus Elfring"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"386030","messageId":"41723f0e-1c8b-5e5d-9d8c-b0df1482166d@web.de","threadId":"52248","inReplyTo":null,"subject":"[PATCH] coccinelle: merge three rules from qsort.cocci","fromName":"Markus Elfring","fromEmail":"markus.elfring@web.de","sentAt":"2019-11-12T18:36:46Z","receivedAt":"2019-11-12T18:36:51Z","isPatch":true,"sender":{"key":"markus.elfring@web.de","avatar":null},"body":"From: Markus Elfring <elfring@users.sourceforge.net>\nDate: Tue, 12 Nov 2019 19:30:28 +0100\n\nThis script contained three transformation rules for the semantic patch language\nwhere a condition check should be removed before QSORT() calls.\nCombine these rules by using a SmPL disjunction.\n\nSigned-off-by: Markus Elfring <elfring@users.sourceforge.net>\n---\n contrib/coccinelle/qsort.cocci | 14 +-------------\n 1 file changed, 1 insertion(+), 13 deletions(-)\n\ndiff --git a/contrib/coccinelle/qsort.cocci b/contrib/coccinelle/qsort.cocci\nindex 22b93a9966..b2130a5e51 100644\n--- a/contrib/coccinelle/qsort.cocci\n+++ b/contrib/coccinelle/qsort.cocci\n@@ -21,17 +21,5 @@ expression nmemb, compar;\n @@\n expression base, nmemb, compar;\n @@\n-- if (nmemb)\n-    QSORT(base, nmemb, compar);\n-\n-@@\n-expression base, nmemb, compar;\n-@@\n-- if (nmemb > 0)\n-    QSORT(base, nmemb, compar);\n-\n-@@\n-expression base, nmemb, compar;\n-@@\n-- if (nmemb > 1)\n+- if ( \\( nmemb \\| nmemb > \\( 0 \\| 1 \\) \\) )\n     QSORT(base, nmemb, compar);\n--\n2.24.0\n\n"}]}