27 lines
668 B
Go
27 lines
668 B
Go
|
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
|
||
|
}
|
||
|
|
||
|
if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
|
||
|
return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
|
||
|
}
|
||
|
emitter.buffer_pos = 0
|
||
|
return true
|
||
|
}
|