hostnamed: use INDEXES_TO_MASK where appropriate
Addresses https://github.com/systemd/systemd/pull/40367#discussion_r2714368627
This commit is contained in:
+22
-22
@@ -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, ¤t_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, ¤t_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, ¤t_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,
|
||||
|
||||
Reference in New Issue
Block a user