Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
kardolus
GitHub Repository: kardolus/chatgpt-cli
Path: blob/main/vendor/gopkg.in/yaml.v3/writerc.go
2872 views
1
//
2
// Copyright (c) 2011-2019 Canonical Ltd
3
// Copyright (c) 2006-2010 Kirill Simonov
4
//
5
// Permission is hereby granted, free of charge, to any person obtaining a copy of
6
// this software and associated documentation files (the "Software"), to deal in
7
// the Software without restriction, including without limitation the rights to
8
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
// of the Software, and to permit persons to whom the Software is furnished to do
10
// so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in all
13
// copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
// SOFTWARE.
22
23
package yaml
24
25
// Set the writer error and return false.
26
func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool {
27
emitter.error = yaml_WRITER_ERROR
28
emitter.problem = problem
29
return false
30
}
31
32
// Flush the output buffer.
33
func yaml_emitter_flush(emitter *yaml_emitter_t) bool {
34
if emitter.write_handler == nil {
35
panic("write handler not set")
36
}
37
38
// Check if the buffer is empty.
39
if emitter.buffer_pos == 0 {
40
return true
41
}
42
43
if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil {
44
return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error())
45
}
46
emitter.buffer_pos = 0
47
return true
48
}
49
50