On Mon, 25.08.14 07:06, Lukas Nykryn (lnyk...@kemper.freedesktop.org) wrote:
> src/shared/install.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > New commits: > commit 41a451cc2901a5deb985aea4cc8de204a22e5612 > Author: Lukas Nykryn <lnyk...@redhat.com> > Date: Mon Aug 25 15:29:50 2014 +0200 > > systemctl: fix broken list-unit-files with --root > > This patch modifies unit_file_get_list which will now return > hashmap of structures where f->path is *without* root_dir prefix. > > This change should be ok, because current code either does not use > root_dir at all or calls basename() on the f->path. > > diff --git a/src/shared/install.c b/src/shared/install.c > index 4b09a69..a07d1dd 100644 > --- a/src/shared/install.c > +++ b/src/shared/install.c > @@ -2099,7 +2099,7 @@ int unit_file_get_list( > if (!f) > return -ENOMEM; > > - f->path = path_make_absolute(de->d_name, units_dir); > + f->path = path_make_absolute(de->d_name, *i); > if (!f->path) > return -ENOMEM; This looks wrong. We actually do make use of f->path immediately after generating this path, by passing it to null_or_empty_path(). With your change this would not work correctly anymore... The fix for the problem you found must look differently I guess. Reverted for now. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel