diff --git a/src/hwdb/hwdb.c b/src/hwdb/hwdb.c index be64a26d64..87b84b70a9 100644 --- a/src/hwdb/hwdb.c +++ b/src/hwdb/hwdb.c @@ -110,7 +110,7 @@ static int hwdb_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; log_parse_environment(); @@ -118,12 +118,11 @@ int main (int argc, char *argv[]) { r = parse_argv(argc, argv); if (r <= 0) - goto finish; + return r; mac_selinux_init(); - r = hwdb_main(argc, argv); - -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return hwdb_main(argc, argv); } + +DEFINE_MAIN_FUNCTION(run);