diff options
Diffstat (limited to 'tools/girparser.c')
-rw-r--r-- | tools/girparser.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/tools/girparser.c b/tools/girparser.c index d21e630a..c8235364 100644 --- a/tools/girparser.c +++ b/tools/girparser.c @@ -119,7 +119,6 @@ find_attribute (const gchar *name, static void state_switch (ParseContext *ctx, ParseState newstate) { - fprintf (stderr, "state %d -> %d\n", ctx->state, newstate); ctx->prev_state = ctx->state; ctx->state = newstate; } @@ -1668,6 +1667,8 @@ start_discriminator (GMarkupParseContext *context, return FALSE; } +extern GLogLevelFlags logged_levels; + static void start_element_handler (GMarkupParseContext *context, const gchar *element_name, @@ -1678,9 +1679,24 @@ start_element_handler (GMarkupParseContext *context, { ParseContext *ctx = user_data; gint line_number, char_number; -#if 0 - g_printerr ("element-name: '%s'\n", element_name); -#endif + + if (logged_levels & G_LOG_LEVEL_DEBUG) + { + GString *tags = g_string_new (""); + int i; + for (i = 0; attribute_names[i]; i++) + g_string_append_printf (tags, "%s=\"%s\" ", + attribute_names[i], + attribute_values[i]); + + if (i) + { + g_string_insert_c (tags, 0, ' '); + g_string_truncate (tags, tags->len - 1); + } + g_debug ("<%s%s>", element_name, tags->str); + g_string_free (tags, TRUE); + } switch (element_name[0]) { @@ -2005,6 +2021,8 @@ end_element_handler (GMarkupParseContext *context, { ParseContext *ctx = user_data; + g_debug ("</%s>", element_name); + switch (ctx->state) { case STATE_START: @@ -2280,6 +2298,8 @@ g_ir_parse_file (const gchar *filename, gsize length; GList *modules; + g_debug ("[parsing] filename %s", filename); + if (!g_file_get_contents (filename, &buffer, &length, error)) return NULL; |