chiark / gitweb /
add mount enumerator
[elogind.git] / load-fragment.c
index 0db74b3eeeb7c7725339631b2073683543357392..94bdf171af56782cfae35bedade867142807942a 100644 (file)
@@ -35,19 +35,15 @@ static int config_parse_deps(
         FOREACH_WORD(w, &l, rvalue, state) {
                 char *t;
                 int r;
-                Unit *other;
 
                 if (!(t = strndup(w, l)))
                         return -ENOMEM;
 
-                r = manager_load_unit(u->meta.manager, t, &other);
+                r = unit_add_dependency_by_name(u, d, t);
                 free(t);
 
                 if (r < 0)
                         return r;
-
-                if ((r = unit_add_dependency(u, d, other)) < 0)
-                        return r;
         }
 
         return 0;
@@ -651,6 +647,8 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_id) {
                 if (c++ >= FOLLOW_MAX)
                         return -ELOOP;
 
+                path_kill_slashes(*filename);
+
                 /* Add the file name we are currently looking at to
                  * the names of this unit */
                 name = file_name_from_path(*filename);
@@ -808,12 +806,12 @@ static int load_from_path(Unit *u, const char *path) {
                 if ((r = unit_add_name(u, k)) < 0)
                         goto finish;
 
-                if (id == k)
-                        assert_se(u->meta.id = set_get(u->meta.names, k));
 
                 free(k);
         }
 
+        unit_choose_id(u, id);
+
         free(u->meta.load_path);
         u->meta.load_path = filename;
         filename = NULL;