patches/gdm-09-lang.diff
author yippi
Thu, 28 Jul 2011 03:50:58 +0000
branchgnome-2-30
changeset 22037 6bbc65b301fa
parent 21976 baa7325c0e06
permissions -rw-r--r--
2011-07-28 Brian Cameron <[email protected]> * patches/gdm-01-dynamic-display.diff: Fix GDM so that if the Xserver dies with a non-zero return code that the GDM daemon respawns the display. This is needed to make GDM work when the display is killed with Ctrl-Alt-Bksp (or Ctrl-Alt-Bksp-Bksp on Sun Ray). * patches/ConsoleKit-01-ck-dynamic.diff: Fix crashing problem caused by referencing a pointer improperly. * patches/gdm-09-lang.diff: Fix spacing.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     1
--- gdm-2.30.7/gui/simple-greeter/gdm-languages.c.org	Tue Jul 12 13:40:00 2011
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     2
+++ gdm-2.30.7/gui/simple-greeter/gdm-languages.c	Tue Jul 12 15:48:26 2011
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     3
@@ -27,6 +27,9 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     4
 #include <stdio.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     5
 #include <unistd.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     6
 #include <string.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     7
+#if __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     8
+#include <strings.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
     9
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    10
 #include <errno.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    11
 #include <dirent.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    12
 #include <locale.h>
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    13
@@ -144,7 +147,7 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    14
 
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    15
         if (!g_regex_match (re, name, 0, &match_info) ||
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    16
             g_match_info_is_partial_match (match_info)) {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    17
-                g_warning ("locale %s isn't valid\n", name);
22037
6bbc65b301fa 2011-07-28 Brian Cameron <[email protected]>
yippi
parents: 21976
diff changeset
    18
+		 g_debug ("locale %s isn't valid\n", name);
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    19
                 goto out;
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    20
         }
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    21
 
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    22
@@ -188,6 +191,12 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    23
                 }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    24
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    25
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    26
+	/*
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    27
+	 * While Solaris now supports locale aliases but we still prefer
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    28
+	 * unnormalized, canonical locale names. Hence, we do not normalize
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    29
+	 * codeset part of locale names.
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    30
+	 */
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    31
+#ifndef __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    32
         if (codesetp != NULL && *codesetp != NULL) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    33
                 normalized_codeset = normalize_codeset (*codesetp);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    34
                 normalized_name = construct_language_name (language_codep ? *language_codep : NULL,
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    35
@@ -203,6 +212,7 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    36
                 }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    37
                 g_free (normalized_name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    38
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    39
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    40
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    41
  out:
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    42
         g_match_info_free (match_info);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    43
@@ -350,9 +360,16 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    44
         return has_translations;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    45
 }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    46
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    47
+#if __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    48
 static gboolean
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    49
 add_locale (const char *language_name,
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    50
+            gboolean    utf8_only,
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    51
+	    gboolean    verify_locale)
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    52
+#else
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    53
+static gboolean
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    54
+add_locale (const char *language_name,
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    55
             gboolean    utf8_only)
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    56
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    57
 {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    58
         GdmLocale *locale;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    59
         GdmLocale *old_locale;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    60
@@ -361,6 +378,13 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    61
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    62
         g_return_val_if_fail (language_name != NULL, FALSE);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    63
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    64
+#if __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    65
+	if (strstr(language_name, ".UTF-8") != NULL || !utf8_only) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    66
+		name = g_strdup (language_name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    67
+	} else {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    68
+               return FALSE;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    69
+       }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    70
+#else
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    71
         language_name_get_codeset_details (language_name, NULL, &is_utf8);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    72
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    73
         if (is_utf8) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    74
@@ -376,12 +398,21 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    75
         } else {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    76
                 name = g_strdup (language_name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    77
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    78
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    79
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    80
+#if __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    81
+        if (verify_locale && !language_name_is_valid (name)) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    82
+                g_warning ("Your locale '%s' was failed by setlocale()", name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    83
+                g_free (name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    84
+                return FALSE;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    85
+        }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    86
+#else
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    87
         if (!language_name_is_valid (name)) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    88
                 g_warning ("Your locale '%s' was failed by setlocale()", name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    89
                 g_free (name);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    90
                 return FALSE;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    91
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    92
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    93
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    94
         locale = g_new0 (GdmLocale, 1);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    95
         gdm_parse_language_name (name,
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
    96
@@ -392,6 +423,13 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    97
         g_free (name);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    98
         name = NULL;
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
    99
 
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   100
+#if __sun
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   101
+	if (locale->language_code == NULL) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   102
+		gdm_locale_free (locale);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   103
+		return FALSE;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   104
+	}
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   105
+#endif
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   106
+
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   107
 #ifdef WITH_INCOMPLETE_LOCALES
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   108
         if (utf8_only) {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   109
                 if (locale->territory_code == NULL || locale->modifier) {
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   110
@@ -459,7 +497,7 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   111
         error = NULL;
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   112
         mapped = g_mapped_file_new (ARCHIVE_FILE, FALSE, &error);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   113
         if (mapped == NULL) {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   114
-                g_warning ("Mapping failed for %s: %s", ARCHIVE_FILE, error->message);
22037
6bbc65b301fa 2011-07-28 Brian Cameron <[email protected]>
yippi
parents: 21976
diff changeset
   115
+		 g_debug ("Mapping failed for %s: %s", ARCHIVE_FILE, error->message);
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   116
                 g_error_free (error);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   117
                 return FALSE;
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   118
         }
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   119
@@ -488,7 +526,11 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   120
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   121
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   122
         for (cnt = 0; cnt < used; ++cnt) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   123
+#if __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   124
+                add_locale (names[cnt].name, TRUE, TRUE);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   125
+#else
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   126
                 add_locale (names[cnt].name, TRUE);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   127
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   128
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   129
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   130
         g_free (names);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   131
@@ -533,6 +575,19 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   132
 static void
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   133
 collect_locales_from_directory (void)
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   134
 {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   135
+#if __sun
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   136
+	lclist_t *lclp;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   137
+	int       count;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   138
+	int       i;
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   139
+
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   140
+	count = localelist (&lclp, LCLIST_QUERY);
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   141
+
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   142
+	for (i = 0; i < count; i++) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   143
+		add_locale (lclp[i].locale, TRUE, FALSE);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   144
+	}
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   145
+
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   146
+	localelistfree (lclp);
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   147
+#else
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   148
         struct dirent **dirents;
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   149
         int             ndirents;
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   150
         int             cnt;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   151
@@ -546,6 +601,7 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   152
         if (ndirents > 0) {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   153
                 free (dirents);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   154
         }
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   155
+#endif
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   156
 }
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   157
 
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   158
 static void
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   159
@@ -591,9 +647,15 @@
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   160
 
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   161
                 lang = NULL;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   162
                 for (i = 0; lang_list[i] != NULL; i++) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   163
+#if __sun
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   164
+                        if (add_locale (lang_list[i], FALSE, TRUE)) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   165
+                                break;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   166
+                        }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   167
+#else
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   168
                         if (add_locale (lang_list[i], FALSE)) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   169
                                 break;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   170
                         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   171
+#endif
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   172
                 }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   173
                 g_strfreev (lang_list);
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   174
         }
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   175
@@ -696,7 +758,7 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   176
                 }
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   177
 
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   178
                 if (is_fallback_language (code)) {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   179
-                        name = g_strdup (_("Unspecified"));
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   180
+			name = g_strdup (code);
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   181
                 } else {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   182
                         translated_name = dgettext ("iso_639", language);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   183
                         name = get_first_item_in_semicolon_list (translated_name);
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   184
@@ -1059,6 +1121,11 @@
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   185
 
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   186
         full_language = g_string_append (full_language, translated_language);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   187
 
21976
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   188
+	if (strcmp (translated_language, "C") == 0 ||
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   189
+	    strcmp (translated_language, "POSIX") == 0) {
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   190
+		goto out;
baa7325c0e06 2011-07-14 Brian Cameron <[email protected]>
yippi
parents: 21842
diff changeset
   191
+	}
21842
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   192
+
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   193
         if (territory_code != NULL) {
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   194
                 translated_territory = get_translated_territory (territory_code, locale);
b2fbc68831a2 2011-06-03 Brian Cameron <[email protected]>
yippi
parents: 17932
diff changeset
   195
         }