diff --git a/src/emitter.c b/src/emitter.c index 609b28a4..0aca6c34 100644 --- a/src/emitter.c +++ b/src/emitter.c @@ -759,6 +759,7 @@ yaml_emitter_emit_flow_sequence_item(yaml_emitter_t *emitter, { emitter->flow_level --; emitter->indent = POP(emitter, emitter->indents); + emitter->state = POP(emitter, emitter->states); if (emitter->canonical && !first) { if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) return 0; @@ -767,7 +768,6 @@ yaml_emitter_emit_flow_sequence_item(yaml_emitter_t *emitter, } if (!yaml_emitter_write_indicator(emitter, "]", 0, 0, 0)) return 0; - emitter->state = POP(emitter, emitter->states); return 1; } @@ -808,6 +808,7 @@ yaml_emitter_emit_flow_mapping_key(yaml_emitter_t *emitter, { emitter->flow_level --; emitter->indent = POP(emitter, emitter->indents); + emitter->state = POP(emitter, emitter->states); if (emitter->canonical && !first) { if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) return 0; @@ -816,7 +817,6 @@ yaml_emitter_emit_flow_mapping_key(yaml_emitter_t *emitter, } if (!yaml_emitter_write_indicator(emitter, "}", 0, 0, 0)) return 0; - emitter->state = POP(emitter, emitter->states); return 1; }