-
- yaml_free(token);
-}
-
-/*
- * Create an event.
- */
-
-static yaml_event_t *
-yaml_event_new(yaml_event_type_t type,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_malloc(sizeof(yaml_event_t));
-
- if (!event) return NULL;
-
- memset(event, 0, sizeof(yaml_event_t));
-
- event->type = type;
- event->start_mark = start_mark;
- event->end_mark = end_mark;
-
- return event;
-}
-
-/*
- * Create a STREAM-START event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_stream_start_event_new(yaml_encoding_t encoding,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_STREAM_START_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.stream_start.encoding = encoding;
-
- return event;
-}
-
-/*
- * Create a STREAM-END event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_stream_end_event_new(yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- return yaml_event_new(YAML_STREAM_END_EVENT, start_mark, end_mark);
-}
-
-/*
- * Create a DOCUMENT-START event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_document_start_event_new(yaml_version_directive_t *version_directive,
- yaml_tag_directive_t **tag_directives, int implicit,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_DOCUMENT_START_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.document_start.version_directive = version_directive;
- event->data.document_start.tag_directives = tag_directives;
- event->data.document_start.implicit = implicit;
-
- return event;
-}
-
-/*
- * Create a DOCUMENT-END event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_document_end_event_new(int implicit,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_DOCUMENT_END_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.document_end.implicit = implicit;
-
- return event;
-}
-
-/*
- * Create an ALIAS event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_alias_event_new(yaml_char_t *anchor,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_ALIAS_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.alias.anchor = anchor;
-
- return event;
-}
-
-/*
- * Create a SCALAR event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_scalar_event_new(yaml_char_t *anchor, yaml_char_t *tag,
- yaml_char_t *value, size_t length,
- int plain_implicit, int quoted_implicit,
- yaml_scalar_style_t style,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_SCALAR_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.scalar.anchor = anchor;
- event->data.scalar.tag = tag;
- event->data.scalar.value = value;
- event->data.scalar.length = length;
- event->data.scalar.plain_implicit = plain_implicit;
- event->data.scalar.quoted_implicit = quoted_implicit;
- event->data.scalar.style = style;
-
- return event;
-}
-
-/*
- * Create a SEQUENCE-START event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_sequence_start_new(yaml_char_t *anchor, yaml_char_t *tag,
- int implicit, yaml_sequence_style_t style,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_SEQUENCE_START_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.sequence_start.anchor = anchor;
- event->data.sequence_start.tag = tag;
- event->data.sequence_start.implicit = implicit;
- event->data.sequence_start.style = style;
-
- return event;
-}
-
-/*
- * Create a SEQUENCE-END event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_sequence_end_event_new(yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- return yaml_event_new(YAML_SEQUENCE_END_EVENT, start_mark, end_mark);
-}
-
-/*
- * Create a MAPPING-START event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_mapping_start_new(yaml_char_t *anchor, yaml_char_t *tag,
- int implicit, yaml_mapping_style_t style,
- yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- yaml_event_t *event = yaml_event_new(YAML_MAPPING_START_EVENT,
- start_mark, end_mark);
-
- if (!event) return NULL;
-
- event->data.mapping_start.anchor = anchor;
- event->data.mapping_start.tag = tag;
- event->data.mapping_start.implicit = implicit;
- event->data.mapping_start.style = style;
-
- return event;
-}
-
-/*
- * Create a MAPPING-END event.
- */
-
-YAML_DECLARE(yaml_event_t *)
-yaml_mapping_end_event_new(yaml_mark_t start_mark, yaml_mark_t end_mark)
-{
- return yaml_event_new(YAML_MAPPING_END_EVENT, start_mark, end_mark);