From 7caefb8140399f3a77e7fbc478f00554bada2ff1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 16 Nov 2018 15:15:22 +0100 Subject: [PATCH] sleep: define main through macro --- src/sleep/sleep.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c index 198d45c9024..60106113664 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -351,7 +351,7 @@ static int parse_argv(int argc, char *argv[]) { return 1 /* work to do */; } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { bool allow; _cleanup_strv_free_ char **modes = NULL, **states = NULL; usec_t delay = 0; @@ -363,22 +363,21 @@ int main(int argc, char *argv[]) { r = parse_argv(argc, argv); if (r <= 0) - goto finish; + return r; r = parse_sleep_config(arg_verb, &allow, &modes, &states, &delay); if (r < 0) - goto finish; + return r; if (!allow) { log_error("Sleep mode \"%s\" is disabled by configuration, refusing.", arg_verb); - return EXIT_FAILURE; + return -EACCES; } if (streq(arg_verb, "suspend-then-hibernate")) - r = execute_s2h(delay); + return execute_s2h(delay); else - r = execute(modes, states); - -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return execute(modes, states); } + +DEFINE_MAIN_FUNCTION(run); -- 2.47.3