diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-01-23 12:28:38 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-01-24 15:32:42 +0100 |
commit | 02b7005e38db756711cd6463bda34e93cf304c3c (patch) | |
tree | 10c708589f6d63d5d3542ac879ae58f02114dc96 /src/hostname | |
parent | 31778abf957cdc9d5d99ed02beb072e83c75a18c (diff) | |
download | systemd-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.c | 7 |
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; } |