diff --git a/src/udev/mtd_probe/mtd_probe.c b/src/udev/mtd_probe/mtd_probe.c index fd6267feb5..513491ed6c 100644 --- a/src/udev/mtd_probe/mtd_probe.c +++ b/src/udev/mtd_probe/mtd_probe.c @@ -31,6 +31,7 @@ #include "alloc-util.h" #include "fd-util.h" +#include "main-func.h" #include "mtd_probe.h" static const char *arg_device = NULL; @@ -62,28 +63,23 @@ static int parse_argv(int argc, char *argv[]) { return 1; } -int main(int argc, char** argv) { +static int run(int argc, char** argv) { _cleanup_close_ int mtd_fd = -EBADF; mtd_info_t mtd_info; int r; r = parse_argv(argc, argv); if (r <= 0) - return r < 0 ? EXIT_FAILURE : 0; + return r; mtd_fd = open(argv[1], O_RDONLY|O_CLOEXEC|O_NOCTTY); - if (mtd_fd < 0) { - log_error_errno(errno, "Failed to open: %m"); - return EXIT_FAILURE; - } + if (mtd_fd < 0) + return log_error_errno(errno, "Failed to open: %m"); - if (ioctl(mtd_fd, MEMGETINFO, &mtd_info) < 0) { - log_error_errno(errno, "Failed to issue MEMGETINFO ioctl: %m"); - return EXIT_FAILURE; - } + if (ioctl(mtd_fd, MEMGETINFO, &mtd_info) < 0) + return log_error_errno(errno, "MEMGETINFO ioctl failed: %m"); - if (probe_smart_media(mtd_fd, &mtd_info) < 0) - return EXIT_FAILURE; - - return EXIT_SUCCESS; + return probe_smart_media(mtd_fd, &mtd_info); } + +DEFINE_MAIN_FUNCTION(run);