From 5b013a2f67a5914d6e86e3914f40cf44a03da091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 13 Dec 2014 12:43:07 -0500 Subject: systemctl: do not use -1 for return code Also make the error messages more specific to give a hint to the user how to solve the problem. --- src/systemctl/systemctl.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 8a1b481fd..324d9b60c 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -6106,19 +6106,15 @@ static int find_paths_to_edit(sd_bus *bus, char **names, char ***paths) { if (arg_scope == UNIT_FILE_USER) { r = user_config_home(&user_home); if (r < 0) - return log_oom(); - else if (r == 0) { - log_error("Cannot edit units for the user instance: home directory unknown"); - return -1; - } + return log_error_errno(r, "Failed to query XDG_CONFIG_HOME: %m"); + else if (r == 0) + return log_error_errno(ENOTDIR, "Cannot edit units: $XDG_CONFIG_HOME and $HOME are not set."); r = user_runtime_dir(&user_runtime); if (r < 0) - return log_oom(); - else if (r == 0) { - log_error("Cannot edit units for the user instance: runtime directory unknown"); - return -1; - } + return log_error_errno(r, "Failed to query XDG_CONFIG_HOME: %m"); + else if (r == 0) + return log_error_errno(ENOTDIR, "Cannot edit units: $XDG_RUNTIME_DIR is not set."); } r = lookup_paths_init(&lp, @@ -6126,10 +6122,8 @@ static int find_paths_to_edit(sd_bus *bus, char **names, char ***paths) { arg_scope == UNIT_FILE_USER, arg_root, NULL, NULL, NULL); - if (r < 0) { - log_error_errno(r, "Failed get lookup paths: %m"); - return r; - } + if (r < 0) + return log_error_errno(r, "Failed get lookup paths: %m"); avoid_bus_cache = !bus || avoid_bus(); -- cgit v1.2.3