]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: use strv_isempty() instead of strv_length() == 0
authorLennart Poettering <lennart@poettering.net>
Wed, 29 Nov 2017 11:40:22 +0000 (12:40 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 29 Nov 2017 11:41:08 +0000 (12:41 +0100)
It's a lot faster in many cases, since it's O(1) rather than O(n).

coccinelle/isempty.cocci [new file with mode: 0644]
src/core/dbus-execute.c
src/test/test-path-lookup.c
src/tmpfiles/tmpfiles.c
src/udev/collect/collect.c

diff --git a/coccinelle/isempty.cocci b/coccinelle/isempty.cocci
new file mode 100644 (file)
index 0000000..1374ee4
--- /dev/null
@@ -0,0 +1,15 @@
+@@
+expression s;
+@@
+- strv_length(s) == 0
++ strv_isempty(s)
+@@
+expression s;
+@@
+- strlen(s) == 0
++ isempty(s)
+@@
+expression s;
+@@
+- strlen_ptr(s) == 0
++ isempty(s)
index 412be2a6c4e25fe10e43e87060884eb371ecc841..14fb46ec59ac518f182c162006873f6d440c2062 100644 (file)
@@ -1108,7 +1108,7 @@ int bus_exec_context_set_transient_property(
                 }
 
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
-                        if (strv_length(l) == 0) {
+                        if (strv_isempty(l)) {
                                 c->supplementary_groups = strv_free(c->supplementary_groups);
                                 unit_write_settingf(u, flags, name, "%s=", name);
                         } else {
@@ -1360,7 +1360,7 @@ int bus_exec_context_set_transient_property(
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
                         _cleanup_free_ char *joined = NULL;
 
-                        if (strv_length(l) == 0) {
+                        if (strv_isempty(l)) {
                                 c->syscall_whitelist = false;
                                 c->syscall_filter = hashmap_free(c->syscall_filter);
                         } else {
@@ -1433,7 +1433,7 @@ int bus_exec_context_set_transient_property(
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
                         _cleanup_free_ char *joined = NULL;
 
-                        if (strv_length(l) == 0)
+                        if (strv_isempty(l))
                                 c->syscall_archs = set_free(c->syscall_archs);
                         else {
                                 char **s;
@@ -1506,7 +1506,7 @@ int bus_exec_context_set_transient_property(
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
                         _cleanup_free_ char *joined = NULL;
 
-                        if (strv_length(l) == 0) {
+                        if (strv_isempty(l)) {
                                 c->address_families_whitelist = false;
                                 c->address_families = set_free(c->address_families);
                         } else {
@@ -2073,7 +2073,7 @@ int bus_exec_context_set_transient_property(
                         return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid environment block.");
 
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
-                        if (strv_length(l) == 0) {
+                        if (strv_isempty(l)) {
                                 c->environment = strv_free(c->environment);
                                 unit_write_setting(u, flags, name, "Environment=");
                         } else {
@@ -2109,7 +2109,7 @@ int bus_exec_context_set_transient_property(
                         return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid UnsetEnvironment= list.");
 
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
-                        if (strv_length(l) == 0) {
+                        if (strv_isempty(l)) {
                                 c->unset_environment = strv_free(c->unset_environment);
                                 unit_write_setting(u, flags, name, "UnsetEnvironment=");
                         } else {
@@ -2316,7 +2316,7 @@ int bus_exec_context_set_transient_property(
                         else /* "InaccessiblePaths" */
                                 dirs = &c->inaccessible_paths;
 
-                        if (strv_length(l) == 0) {
+                        if (strv_isempty(l)) {
                                 *dirs = strv_free(*dirs);
                                 unit_write_settingf(u, flags, name, "%s=", name);
                         } else {
index 94e5d62e6429fc216d5cddb3b37727cc3f4f88a7..834b0619806d0c3377dac792417386f667739189 100644 (file)
@@ -47,7 +47,7 @@ static void test_paths(UnitFileScope scope) {
         assert_se(strv_length(lp_with_env.search_path) == 1);
         assert_se(streq(lp_with_env.search_path[0], systemd_unit_path));
         assert_se(lookup_paths_reduce(&lp_with_env) >= 0);
-        assert_se(strv_length(lp_with_env.search_path) == 0);
+        assert_se(strv_isempty(lp_with_env.search_path));
 
         assert_se(rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL) >= 0);
 }
index ad89b46f010d0a2573e0bbe9db5488c476f4a96a..c29087b9d019f81669bcdfc2c7195cdb2695b14d 100644 (file)
@@ -1788,7 +1788,7 @@ static bool should_include_path(const char *path) {
 
         /* no matches, so we should include this path only if we
          * have no whitelist at all */
-        if (strv_length(arg_include_prefixes) == 0)
+        if (strv_isempty(arg_include_prefixes))
                 return true;
 
         log_debug("Entry \"%s\" does not match any include prefix, skipping.", path);
index 14e97e6f48ca5265a48d267e18676ad7e6d91f2a..3e278bd6371fc943fd7849fb8744b0e505bc0698 100644 (file)
@@ -162,7 +162,7 @@ static int checkout(int fd)
                         if (ptr) {
                                 *ptr = '\0';
                                 ptr++;
-                                if (!strlen(word))
+                                if (isempty(word))
                                         continue;
 
                                 if (debug)