| 982 | */ |
| 983 | |
| 984 | YAML_DECLARE(void) |
| 985 | yaml_event_delete(yaml_event_t *event) |
| 986 | { |
| 987 | yaml_tag_directive_t *tag_directive; |
| 988 | |
| 989 | assert(event); /* Non-NULL event object expected. */ |
| 990 | |
| 991 | switch (event->type) |
| 992 | { |
| 993 | case YAML_DOCUMENT_START_EVENT: |
| 994 | yaml_free(event->data.document_start.version_directive); |
| 995 | for (tag_directive = event->data.document_start.tag_directives.start; |
| 996 | tag_directive != event->data.document_start.tag_directives.end; |
| 997 | tag_directive++) { |
| 998 | yaml_free(tag_directive->handle); |
| 999 | yaml_free(tag_directive->prefix); |
| 1000 | } |
| 1001 | yaml_free(event->data.document_start.tag_directives.start); |
| 1002 | break; |
| 1003 | |
| 1004 | case YAML_ALIAS_EVENT: |
| 1005 | yaml_free(event->data.alias.anchor); |
| 1006 | break; |
| 1007 | |
| 1008 | case YAML_SCALAR_EVENT: |
| 1009 | yaml_free(event->data.scalar.anchor); |
| 1010 | yaml_free(event->data.scalar.tag); |
| 1011 | yaml_free(event->data.scalar.value); |
| 1012 | break; |
| 1013 | |
| 1014 | case YAML_SEQUENCE_START_EVENT: |
| 1015 | yaml_free(event->data.sequence_start.anchor); |
| 1016 | yaml_free(event->data.sequence_start.tag); |
| 1017 | break; |
| 1018 | |
| 1019 | case YAML_MAPPING_START_EVENT: |
| 1020 | yaml_free(event->data.mapping_start.anchor); |
| 1021 | yaml_free(event->data.mapping_start.tag); |
| 1022 | break; |
| 1023 | |
| 1024 | default: |
| 1025 | break; |
| 1026 | } |
| 1027 | |
| 1028 | memset(event, 0, sizeof(yaml_event_t)); |
| 1029 | } |
| 1030 | |
| 1031 | /* |
| 1032 | * Create a document object. |
no test coverage detected