mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-04 05:52:24 -06:00 
			
		
		
		
	
		
			
	
	
		
			49 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// 
							 | 
						||
| 
								 | 
							
								// Copyright (c) 2011-2019 Canonical Ltd
							 | 
						||
| 
								 | 
							
								// Copyright (c) 2006-2010 Kirill Simonov
							 | 
						||
| 
								 | 
							
								// 
							 | 
						||
| 
								 | 
							
								// Permission is hereby granted, free of charge, to any person obtaining a copy of
							 | 
						||
| 
								 | 
							
								// this software and associated documentation files (the "Software"), to deal in
							 | 
						||
| 
								 | 
							
								// the Software without restriction, including without limitation the rights to
							 | 
						||
| 
								 | 
							
								// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
							 | 
						||
| 
								 | 
							
								// of the Software, and to permit persons to whom the Software is furnished to do
							 | 
						||
| 
								 | 
							
								// so, subject to the following conditions:
							 | 
						||
| 
								 | 
							
								// 
							 | 
						||
| 
								 | 
							
								// The above copyright notice and this permission notice shall be included in all
							 | 
						||
| 
								 | 
							
								// copies or substantial portions of the Software.
							 | 
						||
| 
								 | 
							
								// 
							 | 
						||
| 
								 | 
							
								// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
							 | 
						||
| 
								 | 
							
								// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
							 | 
						||
| 
								 | 
							
								// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
							 | 
						||
| 
								 | 
							
								// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
							 | 
						||
| 
								 | 
							
								// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
							 | 
						||
| 
								 | 
							
								// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
							 | 
						||
| 
								 | 
							
								// SOFTWARE.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
								}
							 |