From 2af3cad0cd4fa520572b02cdcc8758d14a49ea3c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 23 May 2025 23:19:40 +0900 Subject: [PATCH 1/2] hostname: use proper type --- src/hostname/hostnamed.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index 245126ff92..ec09acb539 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -101,7 +101,7 @@ typedef struct Context { static void context_reset(Context *c, uint64_t mask) { assert(c); - for (int p = 0; p < _PROP_MAX; p++) { + for (HostProperty p = 0; p < _PROP_MAX; p++) { if (!BIT_SET(mask, p)) continue; @@ -845,7 +845,7 @@ static int context_write_data_machine_info(Context *c) { if (r < 0 && r != -ENOENT) return r; - for (int p = PROP_PRETTY_HOSTNAME; p <= PROP_LOCATION; p++) { + for (HostProperty p = PROP_PRETTY_HOSTNAME; p <= PROP_LOCATION; p++) { assert(name[p]); r = strv_env_assign(&l, name[p], empty_to_null(c->data[p])); From dda0e5aa9558747f5ceb01f0c2857088175a0376 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 23 May 2025 23:24:27 +0900 Subject: [PATCH 2/2] hostname: use FOREACH_ARGUMENT() at one more place Follow-up for 29a352e8c14c51983ba661cb5f4ce51e2bc8664b. --- src/hostname/hostnamed.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index ec09acb539..e194381ce1 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -393,17 +393,16 @@ static int get_hardware_version(Context *c, char **ret) { /* Suppress reporting the version field, if it's the same string as the * model or sku field, which it appears to be on various systems */ - for (int i = 0; i < 2; i++) { + int (*getter)(Context *c, char **ret); + FOREACH_ARGUMENT(getter, get_hardware_model, get_hardware_sku) { _cleanup_free_ char *value = NULL; - if (i == 0) - r = get_hardware_model(c, &value); - else - r = get_hardware_sku(c, &value); - if (r < 0) { - if (r != -ENOENT) - return r; - } else if (streq_ptr(version, value)) + r = getter(c, &value); + if (r == -ENOENT) + continue; + if (r < 0) + return r; + if (streq_ptr(version, value)) return -ENOENT; }