[gobject-introspection] girparser: Clean up passthrough handling



commit 93cd5b208b19e7c532972b85a457518082e1fc2b
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Thu Jan 31 23:02:02 2013 -0500

    girparser: Clean up passthrough handling
    
    Instead of remembering to have to set unknown_depth, smarten up
    state_switch to do it for us.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=693040

 girepository/girparser.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/girepository/girparser.c b/girepository/girparser.c
index 6015a04..d1bc81f 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -341,6 +341,9 @@ state_switch (ParseContext *ctx, ParseState newstate)
   g_assert (ctx->state != newstate);
   ctx->prev_state = ctx->state;
   ctx->state = newstate;
+
+  if (ctx->state == STATE_PASSTHROUGH)
+    ctx->unknown_depth = 1;
 }
 
 static GIrNode *
@@ -724,10 +727,7 @@ introspectable_prelude (GMarkupParseContext *context,
   if (introspectable)
     state_switch (ctx, new_state);
   else
-    {
-      state_switch (ctx, STATE_PASSTHROUGH);
-      ctx->unknown_depth = 1;
-    }
+    state_switch (ctx, STATE_PASSTHROUGH);
 
   return introspectable;
 }
@@ -2751,7 +2751,6 @@ start_element_handler (GMarkupParseContext *context,
       if (strcmp (element_name, "doc") == 0)
         {
           state_switch (ctx, STATE_PASSTHROUGH);
-          ctx->unknown_depth = 1;
           goto out;
         }
       break;
@@ -3014,7 +3013,6 @@ start_element_handler (GMarkupParseContext *context,
 		    ctx->file_path, line_number, char_number, element_name,
 		    ctx->state);
       state_switch (ctx, STATE_PASSTHROUGH);
-      ctx->unknown_depth = 1;
     }
 
  out:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]