static int check_unit_generic(sd_bus *bus, int code, const char *good_states, char **args) {
_cleanup_strv_free_ char **names = NULL;
char **name;
- int r = code;
+ int r;
assert(bus);
assert(args);
r = expand_names(bus, args, NULL, &names);
- if (r < 0)
+ if (r < 0) {
log_error("Failed to expand names: %s", strerror(-r));
+ return r;
+ }
STRV_FOREACH(name, names) {
int state;
state = check_one_unit(bus, *name, good_states, arg_quiet);
if (state < 0)
return state;
- if (state > 0)
- r = 0;
+ if (state == 0)
+ r = code;
}
return r;
r = sd_bus_message_new_method_call(
bus,
+ &m,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- "SetUnitProperties",
- &m);
+ "SetUnitProperties");
if (r < 0)
return bus_log_create_error(r);
r = sd_bus_message_new_method_call(
bus,
+ &m,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- method,
- &m);
+ method);
if (r < 0)
return bus_log_create_error(r);
r = sd_bus_message_new_method_call(
bus,
+ &m,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- "SetEnvironment",
- &m);
+ "SetEnvironment");
if (r < 0)
return bus_log_create_error(r);
r = sd_bus_message_new_method_call(
bus,
+ &m,
"org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
- method,
- &m);
+ method);
if (r < 0)
return bus_log_create_error(r);
case ARG_HELP:
return runlevel_help();
- return 0;
case '?':
return -EINVAL;