MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / yaml_parser_parse_document_end

Function yaml_parser_parse_document_end

xs/tools/yaml/parser.c:491–519  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

489 */
490
491static int
492yaml_parser_parse_document_end(yaml_parser_t *parser, yaml_event_t *event)
493{
494 yaml_token_t *token;
495 yaml_mark_t start_mark, end_mark;
496 int implicit = 1;
497
498 token = PEEK_TOKEN(parser);
499 if (!token) return 0;
500
501 start_mark = end_mark = token->start_mark;
502
503 if (token->type == YAML_DOCUMENT_END_TOKEN) {
504 end_mark = token->end_mark;
505 SKIP_TOKEN(parser);
506 implicit = 0;
507 }
508
509 while (!STACK_EMPTY(parser, parser->tag_directives)) {
510 yaml_tag_directive_t tag_directive = POP(parser, parser->tag_directives);
511 yaml_free(tag_directive.handle);
512 yaml_free(tag_directive.prefix);
513 }
514
515 parser->state = YAML_PARSE_DOCUMENT_START_STATE;
516 DOCUMENT_END_EVENT_INIT(*event, implicit, start_mark, end_mark);
517
518 return 1;
519}
520
521/*
522 * Parse the productions:

Callers 1

Calls 1

yaml_freeFunction · 0.85

Tested by

no test coverage detected