summaryrefslogtreecommitdiffstats
path: root/x11-libs/gtk+/files/gtk+-1.2.10-cvs-rclocale.patch
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/gtk+/files/gtk+-1.2.10-cvs-rclocale.patch')
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2.10-cvs-rclocale.patch133
1 files changed, 0 insertions, 133 deletions
diff --git a/x11-libs/gtk+/files/gtk+-1.2.10-cvs-rclocale.patch b/x11-libs/gtk+/files/gtk+-1.2.10-cvs-rclocale.patch
deleted file mode 100644
index 2340efd..0000000
--- a/x11-libs/gtk+/files/gtk+-1.2.10-cvs-rclocale.patch
+++ /dev/null
@@ -1,133 +0,0 @@
---- gtk+-1.2.10/gtk/gtkrc.c.encoding Thu Mar 15 13:41:40 2001
-+++ gtk+-1.2.10/gtk/gtkrc.c Thu Jul 5 12:48:48 2001
-@@ -33,6 +33,7 @@
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <langinfo.h>
-
- #include "gtkrc.h"
- #include "gtkbindings.h"
-@@ -440,7 +441,7 @@
- void
- gtk_rc_init (void)
- {
-- static gchar *locale_suffixes[3];
-+ static gchar *locale_suffixes[8];
- static gint n_locale_suffixes = 0;
-
- gint i, j;
-@@ -449,9 +450,7 @@
-
- if (!initted)
- {
-- gint length;
--
-- char *locale = setlocale (LC_CTYPE, NULL);
-+ char *locale = g_strdup (setlocale (LC_CTYPE, NULL));
- char *p;
-
- initted = TRUE;
-@@ -470,39 +469,84 @@
- * We normalize the charset into a standard form,
- * which has all '-' and '_' characters removed,
- * and is lowercase.
-+ *
-+ * the search is done in that order:
-+ * gtkrc.ll_cc.lowercasecodeset
-+ * gtkrc.ll_cc.normalizedcodeset
-+ * gtkrc.ll.lowercasecodeset
-+ * gtkrc.ll.normalizedcodeset
-+ * gtkrc.lowercasecodeset
-+ * gtkrc.normalizedcodeset
-+ * gtkrc.ll_cc
-+ * gtkrc.ll
-+ *
- */
-- gchar *normalized_locale;
-+ char *codeset = NULL;
-+ char *normalized_codeset = NULL;
-+ char *cc = NULL;
-+ char *ll;
-
- p = strchr (locale, '@');
-- length = p ? (p -locale) : strlen (locale);
-+ if (p)
-+ *p = '\0';
-
-+ codeset = nl_langinfo (CODESET);
-+
- p = strchr (locale, '.');
-+ if (!codeset && p)
-+ codeset = p + 1;
- if (p)
-+ *p = '\0';
-+
-+ if (codeset)
- {
-- gchar *tmp1 = g_strndup (locale, p - locale + 1);
-- gchar *tmp2 = _gtk_normalize_codeset (p + 1, length - (p - locale + 1));
-+ codeset = g_strdup (codeset);
-
-- normalized_locale = g_strconcat (tmp1, tmp2, NULL);
-- g_free (tmp1);
-- g_free (tmp2);
--
-- locale_suffixes[n_locale_suffixes++] = g_strdup (normalized_locale);
-- length = p - locale;
-+ p = codeset;
-+ while (*p)
-+ {
-+ /* tolower not used, because some locales are not
-+ * compatible with C locale in lowercasing ascii
-+ */
-+ if (*p >= 'A' && *p <= 'Z')
-+ *p = (*p) - 'A' + 'a';
-+ p++;
-+ }
-+
-+ normalized_codeset = _gtk_normalize_codeset(codeset, strlen (codeset));
-+ if (strcmp (normalized_codeset, codeset) == 0)
-+ normalized_codeset = NULL;
- }
-- else
-- normalized_locale = g_strndup (locale, length);
-
-- p = strchr (normalized_locale, '_');
-+ p = strchr (locale, '_');
- if (p)
- {
-- locale_suffixes[n_locale_suffixes++] = g_strndup (normalized_locale, length);
-- length = p - normalized_locale;
-+ cc = p + 1;
-+ *p = '\0';
- }
--
-- locale_suffixes[n_locale_suffixes++] = g_strndup (normalized_locale, length);
-
-- g_free (normalized_locale);
-+ ll = locale;
-+
-+ if (cc && codeset)
-+ locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, ".", codeset, NULL);
-+ if (cc && normalized_codeset)
-+ locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, ".", normalized_codeset, NULL);
-+ if (codeset)
-+ locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, ".", codeset, NULL);
-+ if (normalized_codeset)
-+ locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, ".", normalized_codeset, NULL);
-+ if (codeset)
-+ locale_suffixes[n_locale_suffixes++] = g_strdup (codeset);
-+ if (normalized_codeset)
-+ locale_suffixes[n_locale_suffixes++] = g_strdup (normalized_codeset);
-+ if (cc)
-+ locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, NULL);
-+ locale_suffixes[n_locale_suffixes++] = g_strdup (ll);
-+
-+ g_free (codeset);
- }
-+
-+ g_free (locale);
- }
-
- i = 0;