[gnome-desktop] gnome-languages: Support common_name in ISO 639



commit 9ef4de3706656021f301d782332269fba7b2b4d9
Author: Gunnar Hjalmarsson <gunnarhj ubuntu com>
Date:   Thu Jul 11 21:13:18 2019 +0000

    gnome-languages: Support common_name in ISO 639
    
    Fixes #49

 libgnome-desktop/gnome-languages.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
---
diff --git a/libgnome-desktop/gnome-languages.c b/libgnome-desktop/gnome-languages.c
index 74a2619c..2e4b68f3 100644
--- a/libgnome-desktop/gnome-languages.c
+++ b/libgnome-desktop/gnome-languages.c
@@ -797,6 +797,7 @@ languages_parse_start_tag (GMarkupParseContext      *ctx,
         const char *ccode_longT;
         const char *ccode;
         const char *ccode_id;
+        const char *lang_common_name;
         const char *lang_name;
 
         if (! (g_str_equal (element_name, "iso_639_entry") || g_str_equal (element_name, "iso_639_3_entry"))
@@ -808,6 +809,7 @@ languages_parse_start_tag (GMarkupParseContext      *ctx,
         ccode_longB = NULL;
         ccode_longT = NULL;
         ccode_id = NULL;
+        lang_common_name = NULL;
         lang_name = NULL;
 
         while (*attr_names && *attr_values) {
@@ -844,6 +846,11 @@ languages_parse_start_tag (GMarkupParseContext      *ctx,
                                 }
                                 ccode_id = *attr_values;
                         }
+                } else if (g_str_equal (*attr_names, "common_name")) {
+                        /* skip if empty */
+                        if (**attr_values) {
+                                lang_common_name = *attr_values;
+                        }
                 } else if (g_str_equal (*attr_names, "name")) {
                         lang_name = *attr_values;
                 }
@@ -852,6 +859,10 @@ languages_parse_start_tag (GMarkupParseContext      *ctx,
                 ++attr_values;
         }
 
+        if (lang_common_name != NULL) {
+                lang_name = lang_common_name;
+        }
+
         if (lang_name == NULL) {
                 return;
         }


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