From cc0d439cf8981613da3a458739153bbe915dc61a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=20M=C3=BCller?= Date: Mon, 23 Mar 2020 17:33:58 +0100 Subject: [PATCH] Output document end marker after open ended scalars --- src/emitter.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/emitter.c b/src/emitter.c index 21ef1b27..f2b215f1 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;