]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev/ata_id: convert to run()
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 13 Mar 2023 09:45:23 +0000 (10:45 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 15 Mar 2023 08:36:26 +0000 (09:36 +0100)
src/udev/ata_id/ata_id.c

index c1e0a6f3f3122cd4f86850323236a8ad3f757d5d..72a35f0aa11cac8be310cfa19940a278529348da 100644 (file)
@@ -26,6 +26,7 @@
 #include "device-nodes.h"
 #include "fd-util.h"
 #include "log.h"
+#include "main-func.h"
 #include "memory-util.h"
 #include "udev-util.h"
 
@@ -423,7 +424,7 @@ static int parse_argv(int argc, char *argv[]) {
         return 1;
 }
 
-int main(int argc, char *argv[]) {
+static int run(int argc, char *argv[]) {
         struct hd_driveid id;
         union {
                 uint8_t  byte[512];
@@ -444,13 +445,11 @@ int main(int argc, char *argv[]) {
 
         r = parse_argv(argc, argv);
         if (r <= 0)
-                return r < 0 ? 1 : 0;
+                return r;
 
         fd = open(ASSERT_PTR(arg_device), O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
-        if (fd < 0) {
-                log_error_errno(errno, "Cannot open %s: %m", arg_device);
-                return 1;
-        }
+        if (fd < 0)
+                return log_error_errno(errno, "Cannot open %s: %m", arg_device);
 
         if (disk_identify(fd, identify.byte, &is_packet_device) == 0) {
                 /*
@@ -482,10 +481,8 @@ int main(int argc, char *argv[]) {
                 memcpy(&id, identify.byte, sizeof id);
         } else {
                 /* If this fails, then try HDIO_GET_IDENTITY */
-                if (ioctl(fd, HDIO_GET_IDENTITY, &id) != 0) {
-                        log_debug_errno(errno, "%s: HDIO_GET_IDENTITY failed: %m", arg_device);
-                        return 2;
-                }
+                if (ioctl(fd, HDIO_GET_IDENTITY, &id) != 0)
+                        return log_debug_errno(errno, "%s: HDIO_GET_IDENTITY failed: %m", arg_device);
         }
 
         memcpy(model, id.model, 40);
@@ -656,3 +653,5 @@ int main(int argc, char *argv[]) {
 
         return 0;
 }
+
+DEFINE_MAIN_FUNCTION(run);