]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dbus-execute: lets use exec_directory_type_from_string() to simplify things
authorLennart Poettering <lennart@poettering.net>
Fri, 22 Mar 2019 11:14:09 +0000 (12:14 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 22 Mar 2019 11:25:03 +0000 (12:25 +0100)
src/core/dbus-execute.c

index 0b28643e791388d24eca516f7ba9ff0fc4b465c0..67cc48803cce26b08bec1ef9e12302ee35fa288b 100644 (file)
@@ -2185,24 +2185,19 @@ int bus_exec_context_set_transient_property(
                 }
 
                 if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
-                        char ***dirs = NULL;
                         ExecDirectoryType i;
+                        ExecDirectory *d;
 
-                        for (i = 0; i < _EXEC_DIRECTORY_TYPE_MAX; i++)
-                                if (streq(name, exec_directory_type_to_string(i))) {
-                                        dirs = &c->directories[i].paths;
-                                        break;
-                                }
-
-                        assert(dirs);
+                        assert_se((i = exec_directory_type_from_string(name)) >= 0);
+                        d = c->directories + i;
 
                         if (strv_isempty(l)) {
-                                *dirs = strv_free(*dirs);
+                                d->paths = strv_free(d->paths);
                                 unit_write_settingf(u, flags, name, "%s=", name);
                         } else {
                                 _cleanup_free_ char *joined = NULL;
 
-                                r = strv_extend_strv(dirs, l, true);
+                                r = strv_extend_strv(&d->paths, l, true);
                                 if (r < 0)
                                         return -ENOMEM;