summaryrefslogtreecommitdiff
path: root/src/boot/boot-check-no-failures.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-11-16 10:44:36 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-11-17 09:13:35 +0100
commit02434ea2632a73acfc4f03a89eee9409b816ae85 (patch)
treea5f2421746005cc378e96feaa99999317b12d6b2 /src/boot/boot-check-no-failures.c
parent9a5cedc319d56bbf3e65046e8e73ee94612f0fef (diff)
downloadsystemd-02434ea2632a73acfc4f03a89eee9409b816ae85.tar.gz
boot-check-no-failures: define main through macro
Diffstat (limited to 'src/boot/boot-check-no-failures.c')
-rw-r--r--src/boot/boot-check-no-failures.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/boot/boot-check-no-failures.c b/src/boot/boot-check-no-failures.c
index e7884461c6..1674517d48 100644
--- a/src/boot/boot-check-no-failures.c
+++ b/src/boot/boot-check-no-failures.c
@@ -61,7 +61,7 @@ static int parse_argv(int argc, char *argv[]) {
return 1;
}
-int main(int argc, char *argv[]) {
+static int run(int argc, char *argv[]) {
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
uint32_t n;
@@ -72,13 +72,11 @@ int main(int argc, char *argv[]) {
r = parse_argv(argc, argv);
if (r <= 0)
- goto finish;
+ return r;
r = sd_bus_open_system(&bus);
- if (r < 0) {
- log_error_errno(r, "Failed to connect to system bus: %m");
- goto finish;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to connect to system bus: %m");
r = sd_bus_get_property_trivial(
bus,
@@ -89,18 +87,15 @@ int main(int argc, char *argv[]) {
&error,
'u',
&n);
- if (r < 0) {
- log_error_errno(r, "Failed to get failed units counter: %s", bus_error_message(&error, r));
- goto finish;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to get failed units counter: %s", bus_error_message(&error, r));
if (n > 0)
log_notice("Health check: %" PRIu32 " units have failed.", n);
else
log_info("Health check: no failed units.");
- r = n > 0 ? EXIT_FAILURE : EXIT_SUCCESS;
-
-finish:
- return r < 0 ? EXIT_FAILURE : r;
+ return n > 0;
}
+
+DEFINE_MAIN_FUNCTION_WITH_POSITIVE_FAILURE(run);