From: Zbigniew Jędrzejewski-Szmek Date: Fri, 16 Nov 2018 09:49:30 +0000 (+0100) Subject: coredump: define main through macro X-Git-Tag: v240~280^2~26 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4515a95ee0776d06d98668a49899d181bf82b04b;p=thirdparty%2Fsystemd.git coredump: define main through macro --- diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index 0ca8b3f00e1..764ee2a9451 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -1376,7 +1376,7 @@ static int process_backtrace(int argc, char *argv[]) { return r; } -int main(int argc, char *argv[]) { +static int run(int argc, char *argv[]) { int r; /* First, log to a safe place, since we don't know what crashed and it might @@ -1395,25 +1395,21 @@ int main(int argc, char *argv[]) { log_debug("Selected compression %s.", yes_no(arg_compress)); r = sd_listen_fds(false); - if (r < 0) { - log_error_errno(r, "Failed to determine number of file descriptor: %m"); - goto finish; - } + if (r < 0) + return log_error_errno(r, "Failed to determine the number of file descriptors: %m"); /* If we got an fd passed, we are running in coredumpd mode. Otherwise we * are invoked from the kernel as coredump handler. */ if (r == 0) { if (streq_ptr(argv[1], "--backtrace")) - r = process_backtrace(argc, argv); + return process_backtrace(argc, argv); else - r = process_kernel(argc, argv); + return process_kernel(argc, argv); } else if (r == 1) - r = process_socket(SD_LISTEN_FDS_START); - else { - log_error("Received unexpected number of file descriptors."); - r = -EINVAL; - } + return process_socket(SD_LISTEN_FDS_START); -finish: - return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; + log_error("Received unexpected number of file descriptors."); + return -EINVAL; } + +DEFINE_MAIN_FUNCTION(run);