mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-23 04:19:25 +01:00
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
|
|
}
|