[glib] Bug 623402 - schema compiler reports wrong line
- From: Ryan Lortie <ryanl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Bug 623402 - schema compiler reports wrong line
- Date: Fri, 2 Jul 2010 15:15:26 +0000 (UTC)
commit a941660873ad4db42f1799e444d46d95721af840
Author: Ryan Lortie <desrt desrt ca>
Date: Fri Jul 2 11:14:28 2010 -0400
Bug 623402 - schema compiler reports wrong line
Don't reuse the GMarkupParseContext in order to avoid inaccurate line
number reports. Fix a memory leak, too.
gio/gschema-compile.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/gio/gschema-compile.c b/gio/gschema-compile.c
index 33d6ea4..8923723 100644
--- a/gio/gschema-compile.c
+++ b/gio/gschema-compile.c
@@ -1552,14 +1552,9 @@ parse_gschema_files (gchar **files,
GError **error)
{
GMarkupParser parser = { start_element, end_element, text };
- GMarkupParseContext *context;
ParseState state = { 0, };
const gchar *filename;
- context = g_markup_parse_context_new (&parser,
- G_MARKUP_PREFIX_ERROR_POSITION,
- &state, NULL);
-
state.enum_table = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, enum_state_free);
@@ -1571,9 +1566,14 @@ parse_gschema_files (gchar **files,
while ((filename = *files++) != NULL)
{
+ GMarkupParseContext *context;
gchar *contents;
gsize size;
+ context = g_markup_parse_context_new (&parser,
+ G_MARKUP_PREFIX_ERROR_POSITION,
+ &state, NULL);
+
if (!g_file_get_contents (filename, &contents, &size, error))
return FALSE;
@@ -1588,6 +1588,8 @@ parse_gschema_files (gchar **files,
g_prefix_error (error, "%s: ", filename);
return FALSE;
}
+
+ g_markup_parse_context_free (context);
}
g_hash_table_unref (state.enum_table);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]