]> andersk Git - libyaml.git/blobdiff - src/parser.c
Implement Emitter state machine.
[libyaml.git] / src / parser.c
index ed3c019ae6fc4ede9ba8a1f413e914f8f21b799c..0b5b54377e23b2d4e556bf64bc8e59eb30e9fed7 100644 (file)
@@ -172,12 +172,14 @@ yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event)
     assert(parser);     /* Non-NULL parser object is expected. */
     assert(event);      /* Non-NULL event object is expected. */
 
+    /* Erase the event object. */
+
+    memset(event, 0, sizeof(yaml_event_t));
+
     /* No events after the end of the stream or error. */
 
     if (parser->stream_end_produced || parser->error ||
             parser->state == YAML_PARSE_END_STATE) {
-        memset(event, 0, sizeof(yaml_event_t));
-
         return 1;
     }
 
@@ -1318,6 +1320,10 @@ error:
     return 0;
 }
 
+/*
+ * Append a tag directive to the directives stack.
+ */
+
 static int
 yaml_parser_append_tag_directive(yaml_parser_t *parser,
         yaml_tag_directive_t value, int allow_duplicates, yaml_mark_t mark)
This page took 0.026208 seconds and 4 git commands to generate.