From aab2775acfb801c39ae4c0e3b9a54146459cf35d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 8 Oct 2020 14:28:47 +0200 Subject: [PATCH] cli: honor and prefer color schemes with ".scheme" extension According to `man terminal-colors.d`, the extension should be ".scheme" and not ".schem". Prefer that, but keep honoring ".schem" file, if it exists. https://bugzilla.redhat.com/show_bug.cgi?id=1886336 (cherry picked from commit f1830ab0dea1d34ce30af67f22f34b5e10a4cd7d) --- clients/cli/nmcli.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/clients/cli/nmcli.c b/clients/cli/nmcli.c index 740cc6047e..447954089a 100644 --- a/clients/cli/nmcli.c +++ b/clients/cli/nmcli.c @@ -344,11 +344,21 @@ check_colors_check_enabled_one_file(const char *base_dir, const char *name, cons static char * check_colors_check_palette_one_file(const char *base_dir, const char *name, const char *term) { - gs_free char *filename = check_colors_construct_filename(base_dir, name, term, "schem"); - char * contents; + static const char *const extensions[] = { + "scheme", + "schem", + }; + guint i; + + for (i = 0; i < G_N_ELEMENTS(extensions); i++) { + gs_free char *filename = NULL; + char * contents; + + filename = check_colors_construct_filename(base_dir, name, term, extensions[i]); + if (g_file_get_contents(filename, &contents, NULL, NULL)) + return contents; + } - if (g_file_get_contents(filename, &contents, NULL, NULL)) - return contents; return NULL; }