2016-12-29 09:03:40 +08:00
|
|
|
package yaml
|
|
|
|
|
|
|
|
// Set the writer error and return false.
|
|
|
|
func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool {
|
|
|
|
emitter.error = yaml_WRITER_ERROR
|
|
|
|
emitter.problem = problem
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
// Flush the output buffer.
|
|
|
|
func yaml_emitter_flush(emitter *yaml_emitter_t) bool {
|
|
|
|
if emitter.write_handler == nil {
|
|
|
|
panic("write handler not set")
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if the buffer is empty.
|
|
|
|
if emitter.buffer_pos == 0 {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
2019-03-27 19:15:23 +08:00
|
|
|
if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
|
2016-12-29 09:03:40 +08:00
|
|
|
return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
|
|
|
|
}
|
|
|
|
emitter.buffer_pos = 0
|
|
|
|
return true
|
|
|
|
}
|