hostnamed: use INDEXES_TO_MASK where appropriate

Addresses https://github.com/systemd/systemd/pull/40367#discussion_r2714368627
This commit is contained in:
Mike Yuan
2026-01-22 20:49:38 +01:00
parent 49f7149947
commit 5d2e9c2ad0
+22 -22
View File
@@ -71,12 +71,12 @@ typedef enum {
/* Read from /etc/os-release (or /usr/lib/os-release) */
PROP_OS_PRETTY_NAME,
PROP_OS_FANCY_NAME,
PROP_OS_CPE_NAME,
PROP_OS_HOME_URL,
PROP_OS_SUPPORT_END,
PROP_OS_IMAGE_ID,
PROP_OS_IMAGE_VERSION,
PROP_OS_FANCY_NAME,
_PROP_MAX,
_PROP_INVALID = -EINVAL,
} HostProperty;
@@ -110,6 +110,9 @@ static void context_reset(Context *c, uint64_t mask) {
}
}
#define context_reset_many(c, ...) \
context_reset((c), INDEXES_TO_MASK(uint64_t, __VA_ARGS__))
static void context_destroy(Context *c) {
assert(c);
@@ -133,9 +136,8 @@ static void context_read_etc_hostname(Context *c) {
stat_inode_unmodified(&c->etc_hostname_stat, &current_stat))
return;
context_reset(c,
(UINT64_C(1) << PROP_STATIC_HOSTNAME) |
(UINT64_C(1) << PROP_STATIC_HOSTNAME_SUBSTITUTED_WILDCARDS));
context_reset_many(c, PROP_STATIC_HOSTNAME,
PROP_STATIC_HOSTNAME_SUBSTITUTED_WILDCARDS);
r = read_etc_hostname(/* path= */ NULL, /* substitute_wildcards= */ false, &c->data[PROP_STATIC_HOSTNAME]);
if (r < 0) {
@@ -166,16 +168,15 @@ static void context_read_machine_info(Context *c) {
stat_inode_unmodified(&c->etc_machine_info_stat, &current_stat))
return;
context_reset(c,
(UINT64_C(1) << PROP_PRETTY_HOSTNAME) |
(UINT64_C(1) << PROP_ICON_NAME) |
(UINT64_C(1) << PROP_CHASSIS) |
(UINT64_C(1) << PROP_DEPLOYMENT) |
(UINT64_C(1) << PROP_LOCATION) |
(UINT64_C(1) << PROP_HARDWARE_VENDOR) |
(UINT64_C(1) << PROP_HARDWARE_MODEL) |
(UINT64_C(1) << PROP_HARDWARE_SKU) |
(UINT64_C(1) << PROP_HARDWARE_VERSION));
context_reset_many(c, PROP_PRETTY_HOSTNAME,
PROP_ICON_NAME,
PROP_CHASSIS,
PROP_DEPLOYMENT,
PROP_LOCATION,
PROP_HARDWARE_VENDOR,
PROP_HARDWARE_MODEL,
PROP_HARDWARE_SKU,
PROP_HARDWARE_VERSION);
r = parse_env_file(NULL, etc_machine_info(),
"PRETTY_HOSTNAME", &c->data[PROP_PRETTY_HOSTNAME],
@@ -205,14 +206,13 @@ static void context_read_os_release(Context *c) {
stat_inode_unmodified(&c->etc_os_release_stat, &current_stat))
return;
context_reset(c,
(UINT64_C(1) << PROP_OS_PRETTY_NAME) |
(UINT64_C(1) << PROP_OS_CPE_NAME) |
(UINT64_C(1) << PROP_OS_HOME_URL) |
(UINT64_C(1) << PROP_OS_SUPPORT_END) |
(UINT64_C(1) << PROP_OS_IMAGE_ID) |
(UINT64_C(1) << PROP_OS_IMAGE_VERSION) |
(UINT64_C(1) << PROP_OS_FANCY_NAME));
context_reset_many(c, PROP_OS_PRETTY_NAME,
PROP_OS_FANCY_NAME,
PROP_OS_CPE_NAME,
PROP_OS_HOME_URL,
PROP_OS_SUPPORT_END,
PROP_OS_IMAGE_ID,
PROP_OS_IMAGE_VERSION);
r = parse_os_release(NULL,
"PRETTY_NAME", &os_pretty_name,