diff --git a/src/emitter.c b/src/emitter.c index 45ce8ac56f08e3f9252db803accc9c39cf92b7e8_c3JjL2VtaXR0ZXIuYw==..211d5488df72a363f5db292ed458a0707f923a02_c3JjL2VtaXR0ZXIuYw== 100644 --- a/src/emitter.c +++ b/src/emitter.c @@ -652,6 +652,18 @@ 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;