From 6ae5d4b52fb614af5fd7788bdd50818a0c0ceb11 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 25 Dec 2023 00:44:56 +0900 Subject: [PATCH] coccinelle: convert hashmap_size() == 0 or friends Addresses https://github.com/systemd/systemd/pull/30567#issuecomment-1866631816. --- coccinelle/isempty.cocci | 91 ++++++++++++++++++++++++++++++++ src/network/test-networkd-conf.c | 2 +- 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/coccinelle/isempty.cocci b/coccinelle/isempty.cocci index b1b9277270..cd912ff18f 100644 --- a/coccinelle/isempty.cocci +++ b/coccinelle/isempty.cocci @@ -41,3 +41,94 @@ expression s; - strlen_ptr@p(s) != 0 + !isempty(s) ) +@@ +/* Disable this transformation for the hashmap.h, set.h, test-hashmap.c, test-hashmap-plain.c */ +position p : script:python() { + p[0].file != "src/basic/hashmap.h" and + p[0].file != "src/basic/set.h" and + p[0].file != "src/test/test-hashmap.c" and + p[0].file != "src/test/test-hashmap-plain.c" + }; +expression s; +@@ +( +- hashmap_size@p(s) == 0 ++ hashmap_isempty(s) +| +- hashmap_size@p(s) <= 0 ++ hashmap_isempty(s) +| +- hashmap_size@p(s) > 0 ++ !hashmap_isempty(s) +| +- hashmap_size@p(s) != 0 ++ !hashmap_isempty(s) +| +- ordered_hashmap_size@p(s) == 0 ++ ordered_hashmap_isempty(s) +| +- ordered_hashmap_size@p(s) <= 0 ++ ordered_hashmap_isempty(s) +| +- ordered_hashmap_size@p(s) > 0 ++ !ordered_hashmap_isempty(s) +| +- ordered_hashmap_size@p(s) != 0 ++ !ordered_hashmap_isempty(s) +| +- set_size@p(s) == 0 ++ set_isempty(s) +| +- set_size@p(s) <= 0 ++ set_isempty(s) +| +- set_size@p(s) > 0 ++ !set_isempty(s) +| +- set_size@p(s) != 0 ++ !set_isempty(s) +| +- ordered_set_size@p(s) == 0 ++ ordered_set_isempty(s) +| +- ordered_set_size@p(s) <= 0 ++ ordered_set_isempty(s) +| +- ordered_set_size@p(s) > 0 ++ !ordered_set_isempty(s) +| +- ordered_set_size@p(s) != 0 ++ !ordered_set_isempty(s) +) +@@ +expression s; +@@ +( +- fdset_size(s) == 0 ++ fdset_isempty(s) +| +- fdset_size(s) <= 0 ++ fdset_isempty(s) +| +- fdset_size(s) > 0 ++ !fdset_isempty(s) +| +- fdset_size(s) != 0 ++ !fdset_isempty(s) +) +@@ +expression s; +@@ +( +- prioq_size(s) == 0 ++ prioq_isempty(s) +| +- prioq_size(s) <= 0 ++ prioq_isempty(s) +| +- prioq_size(s) > 0 ++ !prioq_isempty(s) +| +- prioq_size(s) != 0 ++ !prioq_isempty(s) +) diff --git a/src/network/test-networkd-conf.c b/src/network/test-networkd-conf.c index 808db99abb..3581524c63 100644 --- a/src/network/test-networkd-conf.c +++ b/src/network/test-networkd-conf.c @@ -80,7 +80,7 @@ static void test_config_parse_ether_addrs_one(const char *rvalue, const struct e assert_se(q = set_remove(s, &list[m])); } - assert_se(set_size(s) == 0); + assert_se(set_isempty(s)); } #define STR_OK \