1 --- glib-2.6.1/glib/gconvert.c.orig 2005-01-17 10:13:17.136898976 +0100
2 +++ glib-2.6.1/glib/gconvert.c 2005-01-17 10:16:10.262579872 +0100
3 @@ -1073,25 +1073,29 @@
6 cache->filename_charsets = g_strsplit (p, ",", 0);
7 - cache->is_utf8 = (strcmp (cache->filename_charsets[0], "UTF-8") == 0);
9 - for (i = 0; cache->filename_charsets[i]; i++)
11 - if (strcmp ("@locale", cache->filename_charsets[i]) == 0)
13 - g_get_charset (&new_charset);
14 - g_free (cache->filename_charsets[i]);
15 - cache->filename_charsets[i] = g_strdup (new_charset);
18 + if (cache->filename_charsets[0] == NULL) {
21 + cache->is_utf8 = (strcmp (cache->filename_charsets[0], "UTF-8") == 0);
23 + for (i = 0; cache->filename_charsets[i]; i++)
25 + if (strcmp ("@locale", cache->filename_charsets[i]) == 0)
27 + g_get_charset (&new_charset);
28 + g_free (cache->filename_charsets[i]);
29 + cache->filename_charsets[i] = g_strdup (new_charset);
34 - else if (getenv ("G_BROKEN_FILENAMES") != NULL)
35 + if (p == NULL && getenv ("G_BROKEN_FILENAMES") != NULL)
37 cache->filename_charsets = g_new0 (gchar *, 2);
38 cache->is_utf8 = g_get_charset (&new_charset);
39 cache->filename_charsets[0] = g_strdup (new_charset);
44 cache->filename_charsets = g_new0 (gchar *, 3);
45 cache->is_utf8 = TRUE;