From: Zbigniew Jędrzejewski-Szmek Date: Wed, 9 Aug 2023 15:51:24 +0000 (+0200) Subject: sd-id128: introduce ERRNO_IS_NEG_MACHINE_ID_UNSET X-Git-Tag: v255-rc1~706^2~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d66ad6ff854fd1f587ba686e5ef2025c5c3a72dc;p=thirdparty%2Fsystemd.git sd-id128: introduce ERRNO_IS_NEG_MACHINE_ID_UNSET --- diff --git a/src/boot/bootctl-install.c b/src/boot/bootctl-install.c index 7e85c2f08e2..ca14564a8e8 100644 --- a/src/boot/bootctl-install.c +++ b/src/boot/bootctl-install.c @@ -27,12 +27,10 @@ static int load_etc_machine_id(void) { int r; r = sd_id128_get_machine(&arg_machine_id); - if (r < 0) { - if (ERRNO_IS_MACHINE_ID_UNSET(r)) /* Not set or empty */ - return 0; - + if (ERRNO_IS_NEG_MACHINE_ID_UNSET(r)) /* Not set or empty */ + return 0; + if (r < 0) return log_error_errno(r, "Failed to get machine-id: %m"); - } log_debug("Loaded machine ID %s from /etc/machine-id.", SD_ID128_TO_STRING(arg_machine_id)); return 0; diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c index 7de62f3ba41..abd6e2fdce1 100644 --- a/src/kernel-install/kernel-install.c +++ b/src/kernel-install/kernel-install.c @@ -448,11 +448,10 @@ static int context_load_machine_id(Context *c) { assert(c); r = id128_get_machine_at(c->rfd, &c->machine_id); - if (r < 0) { - if (ERRNO_IS_MACHINE_ID_UNSET(r)) - return 0; + if (ERRNO_IS_NEG_MACHINE_ID_UNSET(r)) + return 0; + if (r < 0) return log_error_errno(r, "Failed to load machine ID from /etc/machine-id: %m"); - } log_debug("MACHINE_ID=%s set via /etc/machine-id.", SD_ID128_TO_STRING(c->machine_id)); return 1; /* loaded */ diff --git a/src/libsystemd/sd-id128/id128-util.h b/src/libsystemd/sd-id128/id128-util.h index 7bcbd8e5584..bd3e2013617 100644 --- a/src/libsystemd/sd-id128/id128-util.h +++ b/src/libsystemd/sd-id128/id128-util.h @@ -6,6 +6,7 @@ #include "sd-id128.h" +#include "errno-util.h" #include "hash-funcs.h" #include "macro.h" @@ -45,8 +46,9 @@ sd_id128_t id128_make_v4_uuid(sd_id128_t id); int id128_get_product(sd_id128_t *ret); /* A helper to check for the three relevant cases of "machine ID not initialized" */ -#define ERRNO_IS_MACHINE_ID_UNSET(r) \ - IN_SET(abs(r), \ - ENOENT, \ - ENOMEDIUM, \ - ENOPKG) +#define ERRNO_IS_NEG_MACHINE_ID_UNSET(r) \ + IN_SET(r, \ + -ENOENT, \ + -ENOMEDIUM, \ + -ENOPKG) +_DEFINE_ABS_WRAPPER(MACHINE_ID_UNSET); diff --git a/src/test/test-condition.c b/src/test/test-condition.c index 6d57ba8da9e..5505d6c8e2a 100644 --- a/src/test/test-condition.c +++ b/src/test/test-condition.c @@ -251,7 +251,7 @@ TEST(condition_test_host) { int r; r = sd_id128_get_machine(&id); - if (r < 0 && ERRNO_IS_MACHINE_ID_UNSET(r)) + if (ERRNO_IS_NEG_MACHINE_ID_UNSET(r)) return (void) log_tests_skipped("/etc/machine-id missing"); assert_se(r >= 0);