From: Zbigniew Jędrzejewski-Szmek Date: Fri, 16 Nov 2018 11:25:43 +0000 (+0100) Subject: import: define mains through macro X-Git-Tag: v240~280^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5272ae42ce4b970e710882660ef54ba06335ca51;p=thirdparty%2Fsystemd.git import: define mains through macro --- diff --git a/src/import/export.c b/src/import/export.c index 03eb3e40b24..317ac1bba76 100644 --- a/src/import/export.c +++ b/src/import/export.c @@ -269,7 +269,6 @@ static int parse_argv(int argc, char *argv[]) { } static int export_main(int argc, char *argv[]) { - static const Verb verbs[] = { { "help", VERB_ANY, VERB_ANY, 0, help }, { "tar", 2, 3, 0, export_tar }, @@ -280,7 +279,7 @@ static int export_main(int argc, char *argv[]) { return dispatch_verb(argc, argv, verbs, NULL); } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { int r; setlocale(LC_ALL, ""); @@ -289,12 +288,11 @@ int main(int argc, char *argv[]) { r = parse_argv(argc, argv); if (r <= 0) - goto finish; + return r; (void) ignore_signals(SIGPIPE, -1); - r = export_main(argc, argv); - -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return export_main(argc, argv); } + +DEFINE_MAIN_FUNCTION(run); diff --git a/src/import/import.c b/src/import/import.c index 35c8e6d6302..69fe8a8a373 100644 --- a/src/import/import.c +++ b/src/import/import.c @@ -292,7 +292,6 @@ static int parse_argv(int argc, char *argv[]) { } static int import_main(int argc, char *argv[]) { - static const Verb verbs[] = { { "help", VERB_ANY, VERB_ANY, 0, help }, { "tar", 2, 3, 0, import_tar }, @@ -303,7 +302,7 @@ static int import_main(int argc, char *argv[]) { return dispatch_verb(argc, argv, verbs, NULL); } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { int r; setlocale(LC_ALL, ""); @@ -312,12 +311,11 @@ int main(int argc, char *argv[]) { r = parse_argv(argc, argv); if (r <= 0) - goto finish; + return 0; (void) ignore_signals(SIGPIPE, -1); - r = import_main(argc, argv); - -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return import_main(argc, argv); } + +DEFINE_MAIN_FUNCTION(run); diff --git a/src/import/importd.c b/src/import/importd.c index 57190e5de55..b5265a7ed34 100644 --- a/src/import/importd.c +++ b/src/import/importd.c @@ -1113,7 +1113,7 @@ static int manager_run(Manager *m) { m); } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { _cleanup_(manager_unrefp) Manager *m = NULL; int r; @@ -1125,28 +1125,24 @@ int main(int argc, char *argv[]) { if (argc != 1) { log_error("This program takes no arguments."); - r = -EINVAL; - goto finish; + return -EINVAL; } assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, -1) >= 0); r = manager_new(&m); - if (r < 0) { - log_error_errno(r, "Failed to allocate manager object: %m"); - goto finish; - } + if (r < 0) + return log_error_errno(r, "Failed to allocate manager object: %m"); r = manager_add_bus_objects(m); if (r < 0) - goto finish; + return r; r = manager_run(m); - if (r < 0) { - log_error_errno(r, "Failed to run event loop: %m"); - goto finish; - } + if (r < 0) + return log_error_errno(r, "Failed to run event loop: %m"); -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return 0; } + +DEFINE_MAIN_FUNCTION(run); diff --git a/src/import/pull.c b/src/import/pull.c index ef495de0682..821c9772e4d 100644 --- a/src/import/pull.c +++ b/src/import/pull.c @@ -304,7 +304,6 @@ static int parse_argv(int argc, char *argv[]) { } static int pull_main(int argc, char *argv[]) { - static const Verb verbs[] = { { "help", VERB_ANY, VERB_ANY, 0, help }, { "tar", 2, 3, 0, pull_tar }, @@ -315,7 +314,7 @@ static int pull_main(int argc, char *argv[]) { return dispatch_verb(argc, argv, verbs, NULL); } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { int r; setlocale(LC_ALL, ""); @@ -324,12 +323,11 @@ int main(int argc, char *argv[]) { r = parse_argv(argc, argv); if (r <= 0) - goto finish; + return r; (void) ignore_signals(SIGPIPE, -1); - r = pull_main(argc, argv); - -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return pull_main(argc, argv); } + +DEFINE_MAIN_FUNCTION(run);