diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-11-16 14:42:39 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-11-17 09:13:35 +0100 |
commit | cc639ee79d839055be463e929542c48a29a222f3 (patch) | |
tree | b1a63aad7d9af5cb32058e0fd8310764cb05bd37 | |
parent | c11cfa286557c9476fdf371bff1e5ac09d7d6dbc (diff) | |
download | systemd-cc639ee79d839055be463e929542c48a29a222f3.tar.gz |
user-runtime-dir: define main through macro
-rw-r--r-- | src/login/user-runtime-dir.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/login/user-runtime-dir.c b/src/login/user-runtime-dir.c index a149e96b26..b3a6e5c740 100644 --- a/src/login/user-runtime-dir.c +++ b/src/login/user-runtime-dir.c @@ -168,7 +168,7 @@ static int do_umount(const char *user) { return user_remove_runtime_path(runtime_path); } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { int r; log_parse_environment(); @@ -176,27 +176,24 @@ int main(int argc, char *argv[]) { if (argc != 3) { log_error("This program takes two arguments."); - return EXIT_FAILURE; + return -EINVAL; } if (!STR_IN_SET(argv[1], "start", "stop")) { log_error("First argument must be either \"start\" or \"stop\"."); - return EXIT_FAILURE; + return -EINVAL; } r = mac_selinux_init(); - if (r < 0) { - log_error_errno(r, "Could not initialize labelling: %m\n"); - return EXIT_FAILURE; - } + if (r < 0) + return log_error_errno(r, "Could not initialize labelling: %m\n"); umask(0022); if (streq(argv[1], "start")) - r = do_mount(argv[2]); - else if (streq(argv[1], "stop")) - r = do_umount(argv[2]); - else - assert_not_reached("Unknown verb!"); - - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return do_mount(argv[2]); + if (streq(argv[1], "stop")) + return do_umount(argv[2]); + assert_not_reached("Unknown verb!"); } + +DEFINE_MAIN_FUNCTION(run); |