/* SPDX-License-Identifier: LGPL-2.1+ */
-/***
- This file is part of systemd.
-
- Copyright 2014 Zbigniew Jędrzejewski-Szmek
-***/
#include <stdlib.h>
if (!dir)
return -ENOMEM;
- if (with_instance)
- c = path_join(NULL, dir, with_instance);
- else
- c = path_join(NULL, dir, name);
+ c = path_join(dir, with_instance ?: name);
if (!c)
return -ENOMEM;
/* This makes sure instance is created if necessary. */
r = socket_instantiate_service(SOCKET(u));
- if (r < 0) {
- log_unit_error_errno(u, r, "Socket cannot be started, failed to create instance: %m");
- return r;
- }
+ if (r < 0)
+ return log_unit_error_errno(u, r, "Socket cannot be started, failed to create instance: %m");
/* This checks both type of sockets */
if (UNIT_ISSET(SOCKET(u)->service)) {
k = show_man_page(*p + 4, true);
if (k != 0) {
if (k < 0)
- log_unit_error_errno(u, r, "Can't show %s: %m", *p);
+ log_unit_error_errno(u, k, "Can't show %s: %m", *p + 4);
else {
- log_unit_error_errno(u, r, "man %s command failed with code %d", *p + 4, k);
+ log_unit_error(u, "Command 'man %s' failed with code %d", *p + 4, k);
k = -ENOEXEC;
}
if (r == 0)
}
int verify_units(char **filenames, UnitFileScope scope, bool check_man, bool run_generators) {
- _cleanup_free_ char *var = NULL;
- Manager *m = NULL;
- FILE *serial = NULL;
- FDSet *fdset = NULL;
- char **filename;
- int r = 0, k;
+ const ManagerTestRunFlags flags =
+ MANAGER_TEST_RUN_BASIC |
+ MANAGER_TEST_RUN_ENV_GENERATORS |
+ run_generators * MANAGER_TEST_RUN_GENERATORS;
+ _cleanup_(manager_freep) Manager *m = NULL;
Unit *units[strv_length(filenames)];
- int i, count = 0;
- const uint8_t flags = MANAGER_TEST_RUN_BASIC |
- MANAGER_TEST_RUN_ENV_GENERATORS |
- run_generators * MANAGER_TEST_RUN_GENERATORS;
+ _cleanup_free_ char *var = NULL;
+ int r = 0, k, i, count = 0;
+ char **filename;
if (strv_isempty(filenames))
return 0;
log_debug("Starting manager...");
- r = manager_startup(m, serial, fdset);
- if (r < 0) {
- log_error_errno(r, "Failed to start manager: %m");
- goto finish;
- }
+ r = manager_startup(m, NULL, NULL);
+ if (r < 0)
+ return r;
manager_clear_jobs(m);
r = k;
}
-finish:
- manager_free(m);
-
return r;
}