summaryrefslogtreecommitdiff
path: root/src/hostname
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2023-01-23 12:28:38 +0100
committerLennart Poettering <lennart@poettering.net>2023-01-24 15:32:42 +0100
commit02b7005e38db756711cd6463bda34e93cf304c3c (patch)
tree10c708589f6d63d5d3542ac879ae58f02114dc96 /src/hostname
parent31778abf957cdc9d5d99ed02beb072e83c75a18c (diff)
downloadsystemd-02b7005e38db756711cd6463bda34e93cf304c3c.tar.gz
tree-wide: unify how we pick OS pretty name to display
Diffstat (limited to 'src/hostname')
-rw-r--r--src/hostname/hostnamed.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
index a9782de4ff..a17ecd2b9b 100644
--- a/src/hostname/hostnamed.c
+++ b/src/hostname/hostnamed.c
@@ -146,6 +146,7 @@ static void context_read_machine_info(Context *c) {
}
static void context_read_os_release(Context *c) {
+ _cleanup_free_ char *os_name = NULL, *os_pretty_name = NULL;
struct stat current_stat = {};
int r;
@@ -162,12 +163,16 @@ static void context_read_os_release(Context *c) {
(UINT64_C(1) << PROP_OS_HOME_URL));
r = parse_os_release(NULL,
- "PRETTY_NAME", &c->data[PROP_OS_PRETTY_NAME],
+ "PRETTY_NAME", &os_pretty_name,
+ "NAME", &os_name,
"CPE_NAME", &c->data[PROP_OS_CPE_NAME],
"HOME_URL", &c->data[PROP_OS_HOME_URL]);
if (r < 0 && r != -ENOENT)
log_warning_errno(r, "Failed to read os-release file, ignoring: %m");
+ if (free_and_strdup(&c->data[PROP_OS_PRETTY_NAME], os_release_pretty_name(os_pretty_name, os_name)) < 0)
+ log_oom();
+
c->etc_os_release_stat = current_stat;
}