Function unsafe_libyaml::yaml_event_delete
source · pub unsafe fn yaml_event_delete(event: *mut yaml_event_t)
Expand description
Free any memory allocated for an event object.
Examples found in repository?
src/emitter.rs (line 143)
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
pub unsafe fn yaml_emitter_emit(
mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t,
) -> Success {
ENQUEUE!((*emitter).events, *event);
while yaml_emitter_need_more_events(emitter).fail {
if yaml_emitter_analyze_event(emitter, (*emitter).events.head).fail {
return FAIL;
}
if yaml_emitter_state_machine(emitter, (*emitter).events.head).fail {
return FAIL;
}
yaml_event_delete(addr_of_mut!(DEQUEUE!((*emitter).events)));
}
OK
}
More examples
src/api.rs (line 318)
312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334
pub unsafe fn yaml_emitter_delete(emitter: *mut yaml_emitter_t) {
__assert!(!emitter.is_null());
BUFFER_DEL!((*emitter).buffer);
BUFFER_DEL!((*emitter).raw_buffer);
STACK_DEL!((*emitter).states);
while !QUEUE_EMPTY!((*emitter).events) {
yaml_event_delete(addr_of_mut!(DEQUEUE!((*emitter).events)));
}
QUEUE_DEL!((*emitter).events);
STACK_DEL!((*emitter).indents);
while !STACK_EMPTY!((*emitter).tag_directives) {
let tag_directive = POP!((*emitter).tag_directives);
yaml_free(tag_directive.handle as *mut libc::c_void);
yaml_free(tag_directive.prefix as *mut libc::c_void);
}
STACK_DEL!((*emitter).tag_directives);
yaml_free((*emitter).anchors as *mut libc::c_void);
memset(
emitter as *mut libc::c_void,
0,
size_of::<yaml_emitter_t>() as libc::c_ulong,
);
}