X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Finstall.c;h=174d79bab6bc3eb72de371fe968465fb5968927c;hb=85eda5721f8d2a20482ef228d341fbbd134c6799;hp=cfbd50ead954c93e518f19d05be6ef7f6402f5fe;hpb=263653e10353d8ad155f1faba01981816a2bb712;p=elogind.git diff --git a/src/install.c b/src/install.c index cfbd50ead..174d79bab 100644 --- a/src/install.c +++ b/src/install.c @@ -72,9 +72,8 @@ static int get_config_path(UnitFileScope scope, bool runtime, const char *root_d case UNIT_FILE_SYSTEM: if (root_dir && runtime) - return -EINVAL; - - if (runtime) + asprintf(&p, "%s/run/systemd/system", root_dir); + else if (runtime) p = strdup("/run/systemd/system"); else if (root_dir) asprintf(&p, "%s/%s", root_dir, SYSTEM_CONFIG_UNIT_PATH); @@ -1572,10 +1571,10 @@ UnitFileState unit_file_get_state( } if (lstat(path, &st) < 0) { + r = -errno; if (errno == ENOENT) continue; - r = -errno; goto finish; }