File glib-goption-disable-localization.patch of Package mingw32-glib2
--- glib/glib.symbols 2010-09-17 17:41:12.000000000 +0200
+++ glib/glib.symbols 2010-09-27 09:09:52.000000000 +0200
@@ -905,6 +905,7 @@
g_option_context_add_main_entries
g_option_error_quark
g_option_context_free
+g_option_context_get_delocalize
g_option_context_get_description
g_option_context_get_help_enabled
g_option_context_get_ignore_unknown_options
@@ -912,6 +913,7 @@
g_option_context_get_summary
g_option_context_new
g_option_context_parse
+g_option_context_set_delocalize
g_option_context_set_description
g_option_context_set_help_enabled
g_option_context_set_ignore_unknown_options
--- glib/goption.c 2010-09-17 19:14:23.000000000 +0200
+++ glib/goption.c 2010-09-27 09:09:52.000000000 +0200
@@ -197,6 +197,7 @@
guint help_enabled : 1;
guint ignore_unknown : 1;
+ guint delocalize : 1;
GOptionGroup *main_group;
@@ -336,6 +337,7 @@
context->parameter_string = g_strdup (parameter_string);
context->help_enabled = TRUE;
context->ignore_unknown = FALSE;
+ context->delocalize = TRUE;
return context;
}
@@ -462,6 +464,23 @@
return context->ignore_unknown;
}
+void
+g_option_context_set_delocalize (GOptionContext *context,
+ gboolean delocalize)
+{
+ g_return_if_fail (context != NULL);
+
+ context->delocalize = delocalize;
+}
+
+gboolean
+g_option_context_get_delocalize (GOptionContext *context)
+{
+ g_return_if_fail (context != NULL);
+
+ return context->delocalize;
+}
+
/**
* g_option_context_add_group:
* @context: a #GOptionContext
@@ -1151,7 +1170,10 @@
{
gchar *data;
+ if (context->delocalize)
data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+ else
+ data = g_strdup (value);
if (!data)
return FALSE;
@@ -1170,7 +1192,10 @@
{
gchar *data;
+ if (context->delocalize)
data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+ else
+ data = g_strdup (value);
if (!data)
return FALSE;
@@ -1203,7 +1228,10 @@
gchar *data;
#ifdef G_OS_WIN32
+ if (context->delocalize)
data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+ else
+ data = g_strdup (value);
if (!data)
return FALSE;
@@ -1226,7 +1254,10 @@
gchar *data;
#ifdef G_OS_WIN32
+ if (context->delocalize)
data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+ else
+ data = g_strdup (value);
if (!data)
return FALSE;
@@ -1283,13 +1314,21 @@
else if (entry->flags & G_OPTION_FLAG_FILENAME)
{
#ifdef G_OS_WIN32
+ if (context->delocalize)
data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+ else
+ data = g_strdup (value);
#else
data = g_strdup (value);
#endif
}
else
+ {
+ if (context->delocalize)
data = g_locale_to_utf8 (value, -1, NULL, NULL, error);
+ else
+ data = g_strdup (value);
+ }
if (!(entry->flags & (G_OPTION_FLAG_NO_ARG|G_OPTION_FLAG_OPTIONAL_ARG)) &&
!data)
--- glib/goption.h 2010-07-07 22:57:11.000000000 +0200
+++ glib/goption.h 2010-09-27 09:09:52.000000000 +0200
@@ -321,6 +321,9 @@
void g_option_context_set_ignore_unknown_options (GOptionContext *context,
gboolean ignore_unknown);
gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);
+void g_option_context_set_delocalize (GOptionContext *context,
+ gboolean ignore_unknown);
+gboolean g_option_context_get_delocalize (GOptionContext *context);
void g_option_context_add_main_entries (GOptionContext *context,
const GOptionEntry *entries,