]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/unit: use FOREACH_STRING where appropriate
authorMike Yuan <me@yhndnzj.com>
Tue, 7 May 2024 10:58:32 +0000 (18:58 +0800)
committerMike Yuan <me@yhndnzj.com>
Tue, 7 May 2024 16:16:36 +0000 (00:16 +0800)
Follow-up for 61628287bd6d5115d96a4bdbd70964efd7a5940e

src/core/unit.c

index b1ba47c9895da3661d5979b9694c75d075f1faec..5a0964ca7d18f5b9cc2d4e15cf62ab1648621086 100644 (file)
@@ -1311,33 +1311,25 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) {
          * is run first. */
 
         if (c->log_namespace) {
-                _cleanup_free_ char *unit = NULL;
+                FOREACH_STRING(s, "systemd-journald", "systemd-journald-varlink") {
+                        _cleanup_free_ char *socket_unit = NULL;
 
-                r = unit_name_build_from_type("systemd-journald", c->log_namespace, UNIT_SOCKET, &unit);
-                if (r < 0)
-                        return r;
-
-                r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, unit, true, UNIT_DEPENDENCY_FILE);
-                if (r < 0)
-                        return r;
-
-                unit = mfree(unit);
-
-                r = unit_name_build_from_type("systemd-journald-varlink", c->log_namespace, UNIT_SOCKET, &unit);
-                if (r < 0)
-                        return r;
+                        r = unit_name_build_from_type(s, c->log_namespace, UNIT_SOCKET, &socket_unit);
+                        if (r < 0)
+                                return r;
 
-                r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, unit, true, UNIT_DEPENDENCY_FILE);
-                if (r < 0)
-                        return r;
+                        r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, socket_unit, true, UNIT_DEPENDENCY_FILE);
+                        if (r < 0)
+                                return r;
+                }
 
-                unit = mfree(unit);
+                _cleanup_free_ char *sync_unit = NULL;
 
-                r = unit_name_build_from_type("systemd-journald-sync", c->log_namespace, UNIT_SERVICE, &unit);
+                r = unit_name_build_from_type("systemd-journald-sync", c->log_namespace, UNIT_SERVICE, &sync_unit);
                 if (r < 0)
                         return r;
 
-                r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, unit, true, UNIT_DEPENDENCY_FILE);
+                r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, sync_unit, true, UNIT_DEPENDENCY_FILE);
                 if (r < 0)
                         return r;
         } else {