j = asprintf(&path, "%s/%s/%s", arg_root, *k, name);
else
j = asprintf(&path, "%s/%s", *k, name);
- if (j < 0) {
- r = log_oom();
- goto finish;
- }
+ if (j < 0)
+ return log_oom();
found_native = access(path, F_OK) >= 0;
if (found_native)
j = asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/%s", arg_root, name);
else
j = asprintf(&p, SYSTEM_SYSVINIT_PATH "/%s", name);
- if (j < 0) {
- r = log_oom();
- goto finish;
- }
+ if (j < 0)
+ return log_oom();
p[strlen(p) - strlen(".service")] = 0;
found_sysv = access(p, F_OK) >= 0;
argv[c] = NULL;
l = strv_join((char**)argv, " ");
- if (!l) {
- r = log_oom();
- goto finish;
- }
+ if (!l)
+ return log_oom();
log_info("Executing %s", l);
pid = fork();
if (pid < 0) {
log_error("Failed to fork: %m");
- r = -errno;
- goto finish;
+ return -errno;
} else if (pid == 0) {
/* Child */
j = wait_for_terminate(pid, &status);
if (j < 0) {
log_error("Failed to wait for child: %s", strerror(-r));
- r = j;
- goto finish;
+ return j;
}
if (status.si_code == CLD_EXITED) {
puts("disabled");
}
- } else if (status.si_status != 0) {
- r = -EINVAL;
- goto finish;
- }
- } else {
- r = -EPROTO;
- goto finish;
- }
+ } else if (status.si_status != 0)
+ return -EINVAL;
+ } else
+ return -EPROTO;
}
-finish:
/* Drop all SysV units */
for (f = 0, t = 0; args[f]; f++) {