[gnome-desktop/wip/hadess/readd-codeset-normalisation] gnome-languages: Re-add codeset normalisation




commit 8f5ea90436f8350b4ffe639050c8641f0bb495df
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Jul 28 11:03:05 2022 +0200

    gnome-languages: Re-add codeset normalisation
    
    It was mistakenly removed in 8af09a3 ("gnome-languages: Simplify
    XPG language parsing").

 libgnome-desktop/gnome-languages.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
---
diff --git a/libgnome-desktop/gnome-languages.c b/libgnome-desktop/gnome-languages.c
index 065b2135..7ae473eb 100644
--- a/libgnome-desktop/gnome-languages.c
+++ b/libgnome-desktop/gnome-languages.c
@@ -172,6 +172,22 @@ gnome_parse_locale (const char *locale,
         match_info_fetch_named_non_empty (match_info, "codeset", codesetp);
         match_info_fetch_named_non_empty (match_info, "modifier", modifierp);
 
+        if (codesetp != NULL && *codesetp != NULL) {
+                g_autofree gchar *normalized_codeset = NULL;
+                g_autofree gchar *normalized_name = NULL;
+
+                normalized_codeset = normalize_codeset (*codesetp);
+                normalized_name = construct_language_name (language_codep ? *language_codep : NULL,
+                                                           country_codep ? *country_codep : NULL,
+                                                           normalized_codeset,
+                                                           modifierp ? *modifierp : NULL);
+
+                if (language_name_is_valid (normalized_name)) {
+                        g_free (*codesetp);
+                        *codesetp = g_steal_pointer (&normalized_codeset);
+                }
+        }
+
         return ret;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]