| 409 | */ |
| 410 | |
| 411 | YAML_DECLARE(void) |
| 412 | yaml_emitter_delete(yaml_emitter_t *emitter) |
| 413 | { |
| 414 | assert(emitter); /* Non-NULL emitter object expected. */ |
| 415 | |
| 416 | BUFFER_DEL(emitter, emitter->buffer); |
| 417 | BUFFER_DEL(emitter, emitter->raw_buffer); |
| 418 | STACK_DEL(emitter, emitter->states); |
| 419 | while (!QUEUE_EMPTY(emitter, emitter->events)) { |
| 420 | yaml_event_delete(&DEQUEUE(emitter, emitter->events)); |
| 421 | } |
| 422 | QUEUE_DEL(emitter, emitter->events); |
| 423 | STACK_DEL(emitter, emitter->indents); |
| 424 | while (!STACK_EMPTY(empty, emitter->tag_directives)) { |
| 425 | yaml_tag_directive_t tag_directive = POP(emitter, emitter->tag_directives); |
| 426 | yaml_free(tag_directive.handle); |
| 427 | yaml_free(tag_directive.prefix); |
| 428 | } |
| 429 | STACK_DEL(emitter, emitter->tag_directives); |
| 430 | yaml_free(emitter->anchors); |
| 431 | |
| 432 | memset(emitter, 0, sizeof(yaml_emitter_t)); |
| 433 | } |
| 434 | |
| 435 | /* |
| 436 | * String write handler. |
no test coverage detected