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);
if ((r = unit_add_name(u, k)) < 0)
goto finish;
- if (id == k)
- assert_se(u->meta.id = set_get(u->meta.names, k));
+ if (id == k)
+ unit_choose_id(u, id);
free(k);
}
+
free(u->meta.load_path);
u->meta.load_path = filename;
filename = NULL;
/* If syslog or kernel logging is requested, make sure
* our own logging daemon is run first. */
- if ((k = unit_add_dependency(u, UNIT_AFTER, u->meta.manager->special_units[SPECIAL_LOGGER_SOCKET])) < 0)
+ if ((k = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_LOGGER_SOCKET)) < 0)
return k;
- if ((k = unit_add_dependency(u, UNIT_REQUIRES, u->meta.manager->special_units[SPECIAL_LOGGER_SOCKET])) < 0)
+ if ((k = unit_add_dependency_by_name(u, UNIT_REQUIRES, SPECIAL_LOGGER_SOCKET)) < 0)
return k;
}