From 37791c82671056a3a4f6f2a067c2daa9fe08b28e Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 31 Jan 2013 22:59:23 -0500 Subject: [PATCH] girparser: Move handling to passthrough https://bugzilla.gnome.org/show_bug.cgi?id=693040 --- girparser.c | 33 ++++++--------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/girparser.c b/girparser.c index 1a83c2390..6015a0432 100644 --- a/girparser.c +++ b/girparser.c @@ -95,7 +95,6 @@ typedef enum STATE_ALIAS, /* 30 */ STATE_TYPE, STATE_ATTRIBUTE, - STATE_DOC, STATE_PASSTHROUGH } ParseState; @@ -2116,22 +2115,6 @@ end_type (ParseContext *ctx) } } -static gboolean -start_doc (GMarkupParseContext *context, - const gchar *element_name, - const gchar **attribute_names, - const gchar **attribute_values, - ParseContext *ctx, - GError **error) -{ - if (strcmp (element_name, "doc") != 0) - return FALSE; - - state_switch (ctx, STATE_DOC); - - return TRUE; -} - static gboolean start_attribute (GMarkupParseContext *context, const gchar *element_name, @@ -2765,9 +2748,12 @@ start_element_handler (GMarkupParseContext *context, attribute_names, attribute_values, ctx, error)) goto out; - else if (start_doc (context, element_name, attribute_names, - attribute_values, ctx, error)) - goto out; + if (strcmp (element_name, "doc") == 0) + { + state_switch (ctx, STATE_PASSTHROUGH); + ctx->unknown_depth = 1; + goto out; + } break; case 'e': @@ -3413,13 +3399,6 @@ end_element_handler (GMarkupParseContext *context, } break; - case STATE_DOC: - if (strcmp ("doc", element_name) == 0) - { - state_switch (ctx, ctx->prev_state); - } - break; - case STATE_PASSTHROUGH: ctx->unknown_depth -= 1; g_assert (ctx->unknown_depth >= 0);