diff options
-rw-r--r-- | src/emitter.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/emitter.c b/src/emitter.c index 21ef1b2..f2b215f 100644 --- a/src/emitter.c +++ b/src/emitter.c @@ -652,6 +652,18 @@ yaml_emitter_emit_document_start(yaml_emitter_t *emitter, else if (event->type == YAML_STREAM_END_EVENT) { + /** + * This can happen if a block scalar with trailing empty lines + * is at the end of the stream + */ + if (emitter->open_ended) + { + if (!yaml_emitter_write_indicator(emitter, "...", 1, 0, 0)) + return 0; + emitter->open_ended = 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + } if (!yaml_emitter_flush(emitter)) return 0; |