summaryrefslogtreecommitdiff
path: root/src/udev/ata_id
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2023-03-13 10:45:23 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2023-03-15 09:36:26 +0100
commitc6f85c3c40627aca5963b534a132d64dbab3c118 (patch)
tree0c1f312aaab78e58cd18bd9eb81e19ff2dfe47f4 /src/udev/ata_id
parent61da49cfd68a0eed918168735caea9134fe9b72e (diff)
downloadsystemd-c6f85c3c40627aca5963b534a132d64dbab3c118.tar.gz
udev/ata_id: convert to run()
Diffstat (limited to 'src/udev/ata_id')
-rw-r--r--src/udev/ata_id/ata_id.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/udev/ata_id/ata_id.c b/src/udev/ata_id/ata_id.c
index c1e0a6f3f3..72a35f0aa1 100644
--- a/src/udev/ata_id/ata_id.c
+++ b/src/udev/ata_id/ata_id.c
@@ -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);