Bug 521591 – g_markup_parse_context_parse() creates GError message that

2008-03-11  Murray Cumming  <murrayc@murrayc.com>

Bug 521591 – g_markup_parse_context_parse() creates GError message that 
is invalid UTF8.

* glib/gmarkup.c (set_error): Make sure that the GError::message is 
valid UTF-8 even if it is complaining about invalid UTF-8 in the 
markup text, using _g_utf8_make_valid().

svn path=/trunk/; revision=6680
This commit is contained in:
Murray Cumming 2008-03-11 15:43:25 +00:00 committed by Murray Cumming
parent c5a10d2650
commit 0ae78c829d
2 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2008-03-11 Murray Cumming <murrayc@murrayc.com>
Bug 521591 g_markup_parse_context_parse() creates GError message that
is invalid UTF8.
* glib/gmarkup.c (set_error): Make sure that the GError::message is
valid UTF-8 even if it is complaining about invalid UTF-8 in the
markup text, using _g_utf8_make_valid().
2008-03-10 Matthias Clasen <mclasen@redhat.com>
* === Released 2.16.1 ===

View File

@ -215,14 +215,20 @@ set_error (GMarkupParseContext *context,
{
GError *tmp_error;
gchar *s;
gchar *s_valid;
va_list args;
va_start (args, format);
s = g_strdup_vprintf (format, args);
va_end (args);
tmp_error = g_error_new_literal (G_MARKUP_ERROR, code, s);
/* Make sure that the GError message is valid UTF-8 even if it is
* complaining about invalid UTF-8 in the markup: */
s_valid = _g_utf8_make_valid (s);
tmp_error = g_error_new_literal (G_MARKUP_ERROR, code, s_valid);
g_free (s);
g_free (s_valid);
g_prefix_error (&tmp_error,
_("Error on line %d char %d: "),