diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2023-03-13 11:49:48 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2023-03-16 16:46:44 +0100 |
commit | 32c2d046c67b9ecbfb24e9492476159259c346aa (patch) | |
tree | 6d8f2d3fa868bc60afbaa5c670b9f64a2bf626f3 /src/udev | |
parent | 8b89b9d7c324953ac8c09e2f04f47246e39aa6cf (diff) | |
download | systemd-32c2d046c67b9ecbfb24e9492476159259c346aa.tar.gz |
udev/mtd_probe: convert to run()
Diffstat (limited to 'src/udev')
-rw-r--r-- | src/udev/mtd_probe/mtd_probe.c | 24 |
1 files changed, 10 insertions, 14 deletions
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); |