Add space between items

This commit is contained in:
David Tolnay 2022-07-08 08:51:24 -07:00
parent 92093d8f4f
commit 47ad13e63c
No known key found for this signature in database
GPG key ID: F9BA143B95FF6D82
11 changed files with 284 additions and 1 deletions

View file

@ -13,9 +13,11 @@ use crate::{
}; };
use core::mem::{size_of, MaybeUninit}; use core::mem::{size_of, MaybeUninit};
use core::ptr::{self, addr_of_mut}; use core::ptr::{self, addr_of_mut};
struct api_context { struct api_context {
error: yaml_error_type_t, error: yaml_error_type_t,
} }
/// Get the libyaml version as a string. /// Get the libyaml version as a string.
/// ///
/// Returns the pointer to a static string of the form `"X.Y.Z"`, where `X` is /// Returns the pointer to a static string of the form `"X.Y.Z"`, where `X` is
@ -24,6 +26,7 @@ struct api_context {
pub unsafe fn yaml_get_version_string() -> *const libc::c_char { pub unsafe fn yaml_get_version_string() -> *const libc::c_char {
b"0.2.5\0" as *const u8 as *const libc::c_char b"0.2.5\0" as *const u8 as *const libc::c_char
} }
/// Get the libyaml version numbers. /// Get the libyaml version numbers.
pub unsafe fn yaml_get_version( pub unsafe fn yaml_get_version(
major: *mut libc::c_int, major: *mut libc::c_int,
@ -34,9 +37,11 @@ pub unsafe fn yaml_get_version(
*minor = 2_i32; *minor = 2_i32;
*patch = 5_i32; *patch = 5_i32;
} }
pub(crate) unsafe fn yaml_malloc(size: size_t) -> *mut libc::c_void { pub(crate) unsafe fn yaml_malloc(size: size_t) -> *mut libc::c_void {
malloc(size) malloc(size)
} }
pub(crate) unsafe fn yaml_realloc(ptr: *mut libc::c_void, size: size_t) -> *mut libc::c_void { pub(crate) unsafe fn yaml_realloc(ptr: *mut libc::c_void, size: size_t) -> *mut libc::c_void {
if !ptr.is_null() { if !ptr.is_null() {
realloc(ptr, size) realloc(ptr, size)
@ -44,17 +49,20 @@ pub(crate) unsafe fn yaml_realloc(ptr: *mut libc::c_void, size: size_t) -> *mut
malloc(size) malloc(size)
} }
} }
pub(crate) unsafe fn yaml_free(ptr: *mut libc::c_void) { pub(crate) unsafe fn yaml_free(ptr: *mut libc::c_void) {
if !ptr.is_null() { if !ptr.is_null() {
free(ptr); free(ptr);
} }
} }
pub(crate) unsafe fn yaml_strdup(str: *const yaml_char_t) -> *mut yaml_char_t { pub(crate) unsafe fn yaml_strdup(str: *const yaml_char_t) -> *mut yaml_char_t {
if str.is_null() { if str.is_null() {
return ptr::null_mut::<yaml_char_t>(); return ptr::null_mut::<yaml_char_t>();
} }
strdup(str as *mut libc::c_char) as *mut yaml_char_t strdup(str as *mut libc::c_char) as *mut yaml_char_t
} }
pub(crate) unsafe fn yaml_string_extend( pub(crate) unsafe fn yaml_string_extend(
start: *mut *mut yaml_char_t, start: *mut *mut yaml_char_t,
pointer: *mut *mut yaml_char_t, pointer: *mut *mut yaml_char_t,
@ -79,6 +87,7 @@ pub(crate) unsafe fn yaml_string_extend(
*start = new_start; *start = new_start;
1_i32 1_i32
} }
pub(crate) unsafe fn yaml_string_join( pub(crate) unsafe fn yaml_string_join(
a_start: *mut *mut yaml_char_t, a_start: *mut *mut yaml_char_t,
a_pointer: *mut *mut yaml_char_t, a_pointer: *mut *mut yaml_char_t,
@ -106,6 +115,7 @@ pub(crate) unsafe fn yaml_string_join(
(*a_pointer).wrapping_offset((*b_pointer).c_offset_from(*b_start) as libc::c_long as isize); (*a_pointer).wrapping_offset((*b_pointer).c_offset_from(*b_start) as libc::c_long as isize);
1_i32 1_i32
} }
pub(crate) unsafe fn yaml_stack_extend( pub(crate) unsafe fn yaml_stack_extend(
start: *mut *mut libc::c_void, start: *mut *mut libc::c_void,
top: *mut *mut libc::c_void, top: *mut *mut libc::c_void,
@ -135,6 +145,7 @@ pub(crate) unsafe fn yaml_stack_extend(
*start = new_start; *start = new_start;
1_i32 1_i32
} }
pub(crate) unsafe fn yaml_queue_extend( pub(crate) unsafe fn yaml_queue_extend(
start: *mut *mut libc::c_void, start: *mut *mut libc::c_void,
head: *mut *mut libc::c_void, head: *mut *mut libc::c_void,
@ -181,6 +192,7 @@ pub(crate) unsafe fn yaml_queue_extend(
} }
1_i32 1_i32
} }
/// Initialize a parser. /// Initialize a parser.
/// ///
/// This function creates a new parser object. An application is responsible /// This function creates a new parser object. An application is responsible
@ -388,6 +400,7 @@ pub unsafe fn yaml_parser_initialize(parser: *mut yaml_parser_t) -> libc::c_int
*fresh51 = *fresh50; *fresh51 = *fresh50;
0_i32 0_i32
} }
/// Destroy a parser. /// Destroy a parser.
pub unsafe fn yaml_parser_delete(parser: *mut yaml_parser_t) { pub unsafe fn yaml_parser_delete(parser: *mut yaml_parser_t) {
__assert!(!parser.is_null()); __assert!(!parser.is_null());
@ -468,6 +481,7 @@ pub unsafe fn yaml_parser_delete(parser: *mut yaml_parser_t) {
size_of::<yaml_parser_t>() as libc::c_ulong, size_of::<yaml_parser_t>() as libc::c_ulong,
); );
} }
unsafe fn yaml_string_read_handler( unsafe fn yaml_string_read_handler(
data: *mut libc::c_void, data: *mut libc::c_void,
buffer: *mut libc::c_uchar, buffer: *mut libc::c_uchar,
@ -496,6 +510,7 @@ unsafe fn yaml_string_read_handler(
*size_read = size; *size_read = size;
1_i32 1_i32
} }
/// Set a string input. /// Set a string input.
/// ///
/// Note that the `input` pointer must be valid while the `parser` object /// Note that the `input` pointer must be valid while the `parser` object
@ -523,6 +538,7 @@ pub unsafe fn yaml_parser_set_input_string(
let fresh85 = addr_of_mut!((*parser).input.string.end); let fresh85 = addr_of_mut!((*parser).input.string.end);
*fresh85 = input.wrapping_offset(size as isize); *fresh85 = input.wrapping_offset(size as isize);
} }
/// Set a generic input handler. /// Set a generic input handler.
pub unsafe fn yaml_parser_set_input( pub unsafe fn yaml_parser_set_input(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
@ -537,12 +553,14 @@ pub unsafe fn yaml_parser_set_input(
let fresh90 = addr_of_mut!((*parser).read_handler_data); let fresh90 = addr_of_mut!((*parser).read_handler_data);
*fresh90 = data; *fresh90 = data;
} }
/// Set the source encoding. /// Set the source encoding.
pub unsafe fn yaml_parser_set_encoding(mut parser: *mut yaml_parser_t, encoding: yaml_encoding_t) { pub unsafe fn yaml_parser_set_encoding(mut parser: *mut yaml_parser_t, encoding: yaml_encoding_t) {
__assert!(!parser.is_null()); __assert!(!parser.is_null());
__assert!((*parser).encoding as u64 == 0); __assert!((*parser).encoding as u64 == 0);
(*parser).encoding = encoding; (*parser).encoding = encoding;
} }
/// Initialize an emitter. /// Initialize an emitter.
/// ///
/// This function creates a new emitter object. An application is responsible /// This function creates a new emitter object. An application is responsible
@ -703,6 +721,7 @@ pub unsafe fn yaml_emitter_initialize(mut emitter: *mut yaml_emitter_t) -> libc:
*fresh130 = *fresh129; *fresh130 = *fresh129;
0_i32 0_i32
} }
/// Destroy an emitter. /// Destroy an emitter.
pub unsafe fn yaml_emitter_delete(emitter: *mut yaml_emitter_t) { pub unsafe fn yaml_emitter_delete(emitter: *mut yaml_emitter_t) {
__assert!(!emitter.is_null()); __assert!(!emitter.is_null());
@ -770,6 +789,7 @@ pub unsafe fn yaml_emitter_delete(emitter: *mut yaml_emitter_t) {
size_of::<yaml_emitter_t>() as libc::c_ulong, size_of::<yaml_emitter_t>() as libc::c_ulong,
); );
} }
unsafe fn yaml_string_write_handler( unsafe fn yaml_string_write_handler(
data: *mut libc::c_void, data: *mut libc::c_void,
buffer: *mut libc::c_uchar, buffer: *mut libc::c_uchar,
@ -798,6 +818,7 @@ unsafe fn yaml_string_write_handler(
*fresh153 = (*fresh153 as libc::c_ulong).wrapping_add(size) as size_t as size_t; *fresh153 = (*fresh153 as libc::c_ulong).wrapping_add(size) as size_t as size_t;
1_i32 1_i32
} }
/// Set a string output. /// Set a string output.
/// ///
/// The emitter will write the output characters to the `output` buffer of the /// The emitter will write the output characters to the `output` buffer of the
@ -827,6 +848,7 @@ pub unsafe fn yaml_emitter_set_output_string(
*fresh157 = size_written; *fresh157 = size_written;
*size_written = 0_u64; *size_written = 0_u64;
} }
/// Set a generic output handler. /// Set a generic output handler.
pub unsafe fn yaml_emitter_set_output( pub unsafe fn yaml_emitter_set_output(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
@ -841,6 +863,7 @@ pub unsafe fn yaml_emitter_set_output(
let fresh162 = addr_of_mut!((*emitter).write_handler_data); let fresh162 = addr_of_mut!((*emitter).write_handler_data);
*fresh162 = data; *fresh162 = data;
} }
/// Set the output encoding. /// Set the output encoding.
pub unsafe fn yaml_emitter_set_encoding( pub unsafe fn yaml_emitter_set_encoding(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
@ -850,12 +873,14 @@ pub unsafe fn yaml_emitter_set_encoding(
__assert!((*emitter).encoding as u64 == 0); __assert!((*emitter).encoding as u64 == 0);
(*emitter).encoding = encoding; (*emitter).encoding = encoding;
} }
/// Set if the output should be in the "canonical" format as in the YAML /// Set if the output should be in the "canonical" format as in the YAML
/// specification. /// specification.
pub unsafe fn yaml_emitter_set_canonical(mut emitter: *mut yaml_emitter_t, canonical: libc::c_int) { pub unsafe fn yaml_emitter_set_canonical(mut emitter: *mut yaml_emitter_t, canonical: libc::c_int) {
__assert!(!emitter.is_null()); __assert!(!emitter.is_null());
(*emitter).canonical = (canonical != 0_i32) as libc::c_int; (*emitter).canonical = (canonical != 0_i32) as libc::c_int;
} }
/// Set the indentation increment. /// Set the indentation increment.
pub unsafe fn yaml_emitter_set_indent(mut emitter: *mut yaml_emitter_t, indent: libc::c_int) { pub unsafe fn yaml_emitter_set_indent(mut emitter: *mut yaml_emitter_t, indent: libc::c_int) {
__assert!(!emitter.is_null()); __assert!(!emitter.is_null());
@ -865,21 +890,25 @@ pub unsafe fn yaml_emitter_set_indent(mut emitter: *mut yaml_emitter_t, indent:
2_i32 2_i32
}; };
} }
/// Set the preferred line width. -1 means unlimited. /// Set the preferred line width. -1 means unlimited.
pub unsafe fn yaml_emitter_set_width(mut emitter: *mut yaml_emitter_t, width: libc::c_int) { pub unsafe fn yaml_emitter_set_width(mut emitter: *mut yaml_emitter_t, width: libc::c_int) {
__assert!(!emitter.is_null()); __assert!(!emitter.is_null());
(*emitter).best_width = if width >= 0_i32 { width } else { -1_i32 }; (*emitter).best_width = if width >= 0_i32 { width } else { -1_i32 };
} }
/// Set if unescaped non-ASCII characters are allowed. /// Set if unescaped non-ASCII characters are allowed.
pub unsafe fn yaml_emitter_set_unicode(mut emitter: *mut yaml_emitter_t, unicode: libc::c_int) { pub unsafe fn yaml_emitter_set_unicode(mut emitter: *mut yaml_emitter_t, unicode: libc::c_int) {
__assert!(!emitter.is_null()); __assert!(!emitter.is_null());
(*emitter).unicode = (unicode != 0_i32) as libc::c_int; (*emitter).unicode = (unicode != 0_i32) as libc::c_int;
} }
/// Set the preferred line break. /// Set the preferred line break.
pub unsafe fn yaml_emitter_set_break(mut emitter: *mut yaml_emitter_t, line_break: yaml_break_t) { pub unsafe fn yaml_emitter_set_break(mut emitter: *mut yaml_emitter_t, line_break: yaml_break_t) {
__assert!(!emitter.is_null()); __assert!(!emitter.is_null());
(*emitter).line_break = line_break; (*emitter).line_break = line_break;
} }
/// Free any memory allocated for a token object. /// Free any memory allocated for a token object.
pub unsafe fn yaml_token_delete(token: *mut yaml_token_t) { pub unsafe fn yaml_token_delete(token: *mut yaml_token_t) {
__assert!(!token.is_null()); __assert!(!token.is_null());
@ -909,6 +938,7 @@ pub unsafe fn yaml_token_delete(token: *mut yaml_token_t) {
size_of::<yaml_token_t>() as libc::c_ulong, size_of::<yaml_token_t>() as libc::c_ulong,
); );
} }
unsafe fn yaml_check_utf8(start: *const yaml_char_t, length: size_t) -> libc::c_int { unsafe fn yaml_check_utf8(start: *const yaml_char_t, length: size_t) -> libc::c_int {
let end: *const yaml_char_t = start.wrapping_offset(length as isize); let end: *const yaml_char_t = start.wrapping_offset(length as isize);
let mut pointer: *const yaml_char_t = start; let mut pointer: *const yaml_char_t = start;
@ -966,6 +996,7 @@ unsafe fn yaml_check_utf8(start: *const yaml_char_t, length: size_t) -> libc::c_
} }
1_i32 1_i32
} }
/// Create the STREAM-START event. /// Create the STREAM-START event.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -990,6 +1021,7 @@ pub unsafe fn yaml_stream_start_event_initialize(
(*event).data.stream_start.encoding = encoding; (*event).data.stream_start.encoding = encoding;
1_i32 1_i32
} }
/// Create the STREAM-END event. /// Create the STREAM-END event.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -1010,6 +1042,7 @@ pub unsafe fn yaml_stream_end_event_initialize(mut event: *mut yaml_event_t) ->
(*event).end_mark = mark; (*event).end_mark = mark;
1_i32 1_i32
} }
/// Create the DOCUMENT-START event. /// Create the DOCUMENT-START event.
/// ///
/// The `implicit` argument is considered as a stylistic parameter and may be /// The `implicit` argument is considered as a stylistic parameter and may be
@ -1180,6 +1213,7 @@ pub unsafe fn yaml_document_start_event_initialize(
yaml_free(value.prefix as *mut libc::c_void); yaml_free(value.prefix as *mut libc::c_void);
0_i32 0_i32
} }
/// Create the DOCUMENT-END event. /// Create the DOCUMENT-END event.
/// ///
/// The `implicit` argument is considered as a stylistic parameter and may be /// The `implicit` argument is considered as a stylistic parameter and may be
@ -1207,6 +1241,7 @@ pub unsafe fn yaml_document_end_event_initialize(
(*event).data.document_end.implicit = implicit; (*event).data.document_end.implicit = implicit;
1_i32 1_i32
} }
/// Create an ALIAS event. /// Create an ALIAS event.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -1240,6 +1275,7 @@ pub unsafe fn yaml_alias_event_initialize(
*fresh167 = anchor_copy; *fresh167 = anchor_copy;
1_i32 1_i32
} }
/// Create a SCALAR event. /// Create a SCALAR event.
/// ///
/// The `style` argument may be ignored by the emitter. /// The `style` argument may be ignored by the emitter.
@ -1346,6 +1382,7 @@ pub unsafe fn yaml_scalar_event_initialize(
yaml_free(value_copy as *mut libc::c_void); yaml_free(value_copy as *mut libc::c_void);
0_i32 0_i32
} }
/// Create a SEQUENCE-START event. /// Create a SEQUENCE-START event.
/// ///
/// The `style` argument may be ignored by the emitter. /// The `style` argument may be ignored by the emitter.
@ -1426,6 +1463,7 @@ pub unsafe fn yaml_sequence_start_event_initialize(
yaml_free(tag_copy as *mut libc::c_void); yaml_free(tag_copy as *mut libc::c_void);
0_i32 0_i32
} }
/// Create a SEQUENCE-END event. /// Create a SEQUENCE-END event.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -1446,6 +1484,7 @@ pub unsafe fn yaml_sequence_end_event_initialize(mut event: *mut yaml_event_t) -
(*event).end_mark = mark; (*event).end_mark = mark;
1_i32 1_i32
} }
/// Create a MAPPING-START event. /// Create a MAPPING-START event.
/// ///
/// The `style` argument may be ignored by the emitter. /// The `style` argument may be ignored by the emitter.
@ -1526,6 +1565,7 @@ pub unsafe fn yaml_mapping_start_event_initialize(
yaml_free(tag_copy as *mut libc::c_void); yaml_free(tag_copy as *mut libc::c_void);
0_i32 0_i32
} }
/// Create a MAPPING-END event. /// Create a MAPPING-END event.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -1546,6 +1586,7 @@ pub unsafe fn yaml_mapping_end_event_initialize(mut event: *mut yaml_event_t) ->
(*event).end_mark = mark; (*event).end_mark = mark;
1_i32 1_i32
} }
/// Free any memory allocated for an event object. /// Free any memory allocated for an event object.
pub unsafe fn yaml_event_delete(event: *mut yaml_event_t) { pub unsafe fn yaml_event_delete(event: *mut yaml_event_t) {
let mut tag_directive: *mut yaml_tag_directive_t; let mut tag_directive: *mut yaml_tag_directive_t;
@ -1585,6 +1626,7 @@ pub unsafe fn yaml_event_delete(event: *mut yaml_event_t) {
size_of::<yaml_event_t>() as libc::c_ulong, size_of::<yaml_event_t>() as libc::c_ulong,
); );
} }
/// Create a YAML document. /// Create a YAML document.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -1791,6 +1833,7 @@ pub unsafe fn yaml_document_initialize(
yaml_free(value.prefix as *mut libc::c_void); yaml_free(value.prefix as *mut libc::c_void);
0_i32 0_i32
} }
/// Delete a YAML document and all its nodes. /// Delete a YAML document and all its nodes.
pub unsafe fn yaml_document_delete(document: *mut yaml_document_t) { pub unsafe fn yaml_document_delete(document: *mut yaml_document_t) {
let mut tag_directive: *mut yaml_tag_directive_t; let mut tag_directive: *mut yaml_tag_directive_t;
@ -1842,6 +1885,7 @@ pub unsafe fn yaml_document_delete(document: *mut yaml_document_t) {
size_of::<yaml_document_t>() as libc::c_ulong, size_of::<yaml_document_t>() as libc::c_ulong,
); );
} }
/// Get a node of a YAML document. /// Get a node of a YAML document.
/// ///
/// The pointer returned by this function is valid until any of the functions /// The pointer returned by this function is valid until any of the functions
@ -1862,6 +1906,7 @@ pub unsafe fn yaml_document_get_node(
} }
ptr::null_mut::<yaml_node_t>() ptr::null_mut::<yaml_node_t>()
} }
/// Get the root of a YAML document node. /// Get the root of a YAML document node.
/// ///
/// The root object is the first object added to the document. /// The root object is the first object added to the document.
@ -1879,6 +1924,7 @@ pub unsafe fn yaml_document_get_root_node(document: *mut yaml_document_t) -> *mu
} }
ptr::null_mut::<yaml_node_t>() ptr::null_mut::<yaml_node_t>()
} }
/// Create a SCALAR node and attach it to the document. /// Create a SCALAR node and attach it to the document.
/// ///
/// The `style` argument may be ignored by the emitter. /// The `style` argument may be ignored by the emitter.
@ -1963,6 +2009,7 @@ pub unsafe fn yaml_document_add_scalar(
yaml_free(value_copy as *mut libc::c_void); yaml_free(value_copy as *mut libc::c_void);
0_i32 0_i32
} }
/// Create a SEQUENCE node and attach it to the document. /// Create a SEQUENCE node and attach it to the document.
/// ///
/// The `style` argument may be ignored by the emitter. /// The `style` argument may be ignored by the emitter.
@ -2056,6 +2103,7 @@ pub unsafe fn yaml_document_add_sequence(
yaml_free(tag_copy as *mut libc::c_void); yaml_free(tag_copy as *mut libc::c_void);
0_i32 0_i32
} }
/// Create a MAPPING node and attach it to the document. /// Create a MAPPING node and attach it to the document.
/// ///
/// The `style` argument may be ignored by the emitter. /// The `style` argument may be ignored by the emitter.
@ -2149,6 +2197,7 @@ pub unsafe fn yaml_document_add_mapping(
yaml_free(tag_copy as *mut libc::c_void); yaml_free(tag_copy as *mut libc::c_void);
0_i32 0_i32
} }
/// Add an item to a SEQUENCE node. /// Add an item to a SEQUENCE node.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.
@ -2229,6 +2278,7 @@ pub unsafe fn yaml_document_append_sequence_item(
} }
1_i32 1_i32
} }
/// Add a pair of a key and a value to a MAPPING node. /// Add a pair of a key and a value to a MAPPING node.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.

View file

@ -36,6 +36,7 @@ use unsafe_libyaml::{
YAML_LITERAL_SCALAR_STYLE, YAML_PLAIN_SCALAR_STYLE, YAML_SINGLE_QUOTED_SCALAR_STYLE, YAML_LITERAL_SCALAR_STYLE, YAML_PLAIN_SCALAR_STYLE, YAML_SINGLE_QUOTED_SCALAR_STYLE,
YAML_UTF8_ENCODING, YAML_UTF8_ENCODING,
}; };
pub(crate) unsafe fn unsafe_main( pub(crate) unsafe fn unsafe_main(
stdin: &mut dyn Read, stdin: &mut dyn Read,
mut stdout: &mut dyn Write, mut stdout: &mut dyn Write,
@ -180,11 +181,13 @@ pub(crate) unsafe fn unsafe_main(
yaml_emitter_delete(emitter); yaml_emitter_delete(emitter);
result result
} }
struct ReadBuf { struct ReadBuf {
buf: [u8; 1024], buf: [u8; 1024],
offset: usize, offset: usize,
filled: usize, filled: usize,
} }
impl ReadBuf { impl ReadBuf {
fn new() -> Self { fn new() -> Self {
ReadBuf { ReadBuf {
@ -193,6 +196,7 @@ impl ReadBuf {
filled: 0, filled: 0,
} }
} }
fn get_line(&mut self, input: &mut dyn Read) -> Option<&mut [u8]> { fn get_line(&mut self, input: &mut dyn Read) -> Option<&mut [u8]> {
loop { loop {
for i in self.offset..self.offset + self.filled { for i in self.offset..self.offset + self.filled {
@ -226,6 +230,7 @@ impl ReadBuf {
} }
} }
} }
unsafe fn get_anchor(sigil: i8, line: *mut i8, anchor: *mut i8) -> *mut i8 { unsafe fn get_anchor(sigil: i8, line: *mut i8, anchor: *mut i8) -> *mut i8 {
let mut start: *mut i8; let mut start: *mut i8;
let mut end: *mut i8; let mut end: *mut i8;
@ -246,6 +251,7 @@ unsafe fn get_anchor(sigil: i8, line: *mut i8, anchor: *mut i8) -> *mut i8 {
*anchor.offset(end.offset_from(start) as i64 as isize) = '\0' as i32 as i8; *anchor.offset(end.offset_from(start) as i64 as isize) = '\0' as i32 as i8;
anchor anchor
} }
unsafe fn get_tag(line: *mut i8, tag: *mut i8) -> *mut i8 { unsafe fn get_tag(line: *mut i8, tag: *mut i8) -> *mut i8 {
let start: *mut i8 = strchr(line, '<' as i32); let start: *mut i8 = strchr(line, '<' as i32);
if start.is_null() { if start.is_null() {
@ -263,6 +269,7 @@ unsafe fn get_tag(line: *mut i8, tag: *mut i8) -> *mut i8 {
*tag.offset((end.offset_from(start) as i64 - 1_i64) as isize) = '\0' as i32 as i8; *tag.offset((end.offset_from(start) as i64 - 1_i64) as isize) = '\0' as i32 as i8;
tag tag
} }
unsafe fn get_value(line: *mut i8, value: *mut i8, style: *mut yaml_scalar_style_t) { unsafe fn get_value(line: *mut i8, value: *mut i8, style: *mut yaml_scalar_style_t) {
let mut i: i32 = 0_i32; let mut i: i32 = 0_i32;
let mut c: *mut i8; let mut c: *mut i8;
@ -345,6 +352,7 @@ unsafe fn get_value(line: *mut i8, value: *mut i8, style: *mut yaml_scalar_style
} }
*value.offset(i as isize) = '\0' as i32 as i8; *value.offset(i as isize) = '\0' as i32 as i8;
} }
unsafe fn memcpy(dest: *mut c_void, src: *const c_void, count: u64) -> *mut c_void { unsafe fn memcpy(dest: *mut c_void, src: *const c_void, count: u64) -> *mut c_void {
ptr::copy_nonoverlapping( ptr::copy_nonoverlapping(
src.cast::<MaybeUninit<u8>>(), src.cast::<MaybeUninit<u8>>(),
@ -353,6 +361,7 @@ unsafe fn memcpy(dest: *mut c_void, src: *const c_void, count: u64) -> *mut c_vo
); );
dest dest
} }
unsafe fn strchr(mut str: *const i8, c: i32) -> *mut i8 { unsafe fn strchr(mut str: *const i8, c: i32) -> *mut i8 {
loop { loop {
match *str { match *str {
@ -362,6 +371,7 @@ unsafe fn strchr(mut str: *const i8, c: i32) -> *mut i8 {
} }
} }
} }
unsafe fn strlen(str: *const i8) -> u64 { unsafe fn strlen(str: *const i8) -> u64 {
let mut end = str; let mut end = str;
while *end != 0 { while *end != 0 {
@ -369,6 +379,7 @@ unsafe fn strlen(str: *const i8) -> u64 {
} }
end.offset_from(str) as u64 end.offset_from(str) as u64
} }
unsafe fn strncmp(lhs: *const i8, rhs: *const i8, mut count: u64) -> i32 { unsafe fn strncmp(lhs: *const i8, rhs: *const i8, mut count: u64) -> i32 {
let mut lhs = lhs.cast::<u8>(); let mut lhs = lhs.cast::<u8>();
let mut rhs = rhs.cast::<u8>(); let mut rhs = rhs.cast::<u8>();
@ -383,6 +394,7 @@ unsafe fn strncmp(lhs: *const i8, rhs: *const i8, mut count: u64) -> i32 {
(*lhs).cmp(&*rhs) as i32 (*lhs).cmp(&*rhs) as i32
} }
} }
fn main() -> ExitCode { fn main() -> ExitCode {
let args = env::args_os().skip(1); let args = env::args_os().skip(1);
if args.len() == 0 { if args.len() == 0 {

View file

@ -28,6 +28,7 @@ use unsafe_libyaml::{
YAML_MAPPING_START_EVENT, YAML_NO_EVENT, YAML_SCALAR_EVENT, YAML_SEQUENCE_END_EVENT, YAML_MAPPING_START_EVENT, YAML_NO_EVENT, YAML_SCALAR_EVENT, YAML_SEQUENCE_END_EVENT,
YAML_SEQUENCE_START_EVENT, YAML_STREAM_END_EVENT, YAML_STREAM_START_EVENT, YAML_SEQUENCE_START_EVENT, YAML_STREAM_END_EVENT, YAML_STREAM_START_EVENT,
}; };
pub(crate) unsafe fn unsafe_main( pub(crate) unsafe fn unsafe_main(
mut stdin: &mut dyn Read, mut stdin: &mut dyn Read,
stdout: &mut dyn Write, stdout: &mut dyn Write,
@ -192,6 +193,7 @@ pub(crate) unsafe fn unsafe_main(
yaml_parser_delete(parser); yaml_parser_delete(parser);
Ok(()) Ok(())
} }
unsafe fn print_escaped(stdout: &mut dyn Write, str: *mut u8, length: u64) { unsafe fn print_escaped(stdout: &mut dyn Write, str: *mut u8, length: u64) {
let mut i: i32; let mut i: i32;
let mut c: i8; let mut c: i8;
@ -216,6 +218,7 @@ unsafe fn print_escaped(stdout: &mut dyn Write, str: *mut u8, length: u64) {
i += 1; i += 1;
} }
} }
fn main() -> ExitCode { fn main() -> ExitCode {
let args = env::args_os().skip(1); let args = env::args_os().skip(1);
if args.len() == 0 { if args.len() == 0 {

View file

@ -11,6 +11,7 @@ use crate::yaml::{
use crate::{libc, yaml_document_delete, yaml_emitter_emit, PointerExt}; use crate::{libc, yaml_document_delete, yaml_emitter_emit, PointerExt};
use core::mem::{size_of, MaybeUninit}; use core::mem::{size_of, MaybeUninit};
use core::ptr::{self, addr_of_mut}; use core::ptr::{self, addr_of_mut};
/// Start a YAML stream. /// Start a YAML stream.
/// ///
/// This function should be used before yaml_emitter_dump() is called. /// This function should be used before yaml_emitter_dump() is called.
@ -41,6 +42,7 @@ pub unsafe fn yaml_emitter_open(mut emitter: *mut yaml_emitter_t) -> libc::c_int
(*emitter).opened = 1_i32; (*emitter).opened = 1_i32;
1_i32 1_i32
} }
/// Finish a YAML stream. /// Finish a YAML stream.
/// ///
/// This function should be used after yaml_emitter_dump() is called. /// This function should be used after yaml_emitter_dump() is called.
@ -73,6 +75,7 @@ pub unsafe fn yaml_emitter_close(mut emitter: *mut yaml_emitter_t) -> libc::c_in
(*emitter).closed = 1_i32; (*emitter).closed = 1_i32;
1_i32 1_i32
} }
/// Emit a YAML document. /// Emit a YAML document.
/// ///
/// The documen object may be generated using the yaml_parser_load() function or /// The documen object may be generated using the yaml_parser_load() function or
@ -169,6 +172,7 @@ pub unsafe fn yaml_emitter_dump(
yaml_emitter_delete_document_and_anchors(emitter); yaml_emitter_delete_document_and_anchors(emitter);
0_i32 0_i32
} }
unsafe fn yaml_emitter_delete_document_and_anchors(mut emitter: *mut yaml_emitter_t) { unsafe fn yaml_emitter_delete_document_and_anchors(mut emitter: *mut yaml_emitter_t) {
let mut index: libc::c_int; let mut index: libc::c_int;
if ((*emitter).anchors).is_null() { if ((*emitter).anchors).is_null() {
@ -217,6 +221,7 @@ unsafe fn yaml_emitter_delete_document_and_anchors(mut emitter: *mut yaml_emitte
let fresh7 = addr_of_mut!((*emitter).document); let fresh7 = addr_of_mut!((*emitter).document);
*fresh7 = ptr::null_mut::<yaml_document_t>(); *fresh7 = ptr::null_mut::<yaml_document_t>();
} }
unsafe fn yaml_emitter_anchor_node(emitter: *mut yaml_emitter_t, index: libc::c_int) { unsafe fn yaml_emitter_anchor_node(emitter: *mut yaml_emitter_t, index: libc::c_int) {
let node: *mut yaml_node_t = ((*(*emitter).document).nodes.start) let node: *mut yaml_node_t = ((*(*emitter).document).nodes.start)
.wrapping_offset(index as isize) .wrapping_offset(index as isize)
@ -252,6 +257,7 @@ unsafe fn yaml_emitter_anchor_node(emitter: *mut yaml_emitter_t, index: libc::c_
(*((*emitter).anchors).wrapping_offset((index - 1_i32) as isize)).anchor = *fresh9; (*((*emitter).anchors).wrapping_offset((index - 1_i32) as isize)).anchor = *fresh9;
} }
} }
unsafe fn yaml_emitter_generate_anchor( unsafe fn yaml_emitter_generate_anchor(
_emitter: *mut yaml_emitter_t, _emitter: *mut yaml_emitter_t,
anchor_id: libc::c_int, anchor_id: libc::c_int,
@ -263,6 +269,7 @@ unsafe fn yaml_emitter_generate_anchor(
write!(WriteToPtr::new(anchor), "id{:03}\0", anchor_id); write!(WriteToPtr::new(anchor), "id{:03}\0", anchor_id);
anchor anchor
} }
unsafe fn yaml_emitter_dump_node(emitter: *mut yaml_emitter_t, index: libc::c_int) -> libc::c_int { unsafe fn yaml_emitter_dump_node(emitter: *mut yaml_emitter_t, index: libc::c_int) -> libc::c_int {
let node: *mut yaml_node_t = ((*(*emitter).document).nodes.start) let node: *mut yaml_node_t = ((*(*emitter).document).nodes.start)
.wrapping_offset(index as isize) .wrapping_offset(index as isize)
@ -287,6 +294,7 @@ unsafe fn yaml_emitter_dump_node(emitter: *mut yaml_emitter_t, index: libc::c_in
_ => __assert!(false), _ => __assert!(false),
} }
} }
unsafe fn yaml_emitter_dump_alias( unsafe fn yaml_emitter_dump_alias(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
anchor: *mut yaml_char_t, anchor: *mut yaml_char_t,
@ -309,6 +317,7 @@ unsafe fn yaml_emitter_dump_alias(
(*event).data.alias.anchor = anchor; (*event).data.alias.anchor = anchor;
yaml_emitter_emit(emitter, event) yaml_emitter_emit(emitter, event)
} }
unsafe fn yaml_emitter_dump_scalar( unsafe fn yaml_emitter_dump_scalar(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
node: *mut yaml_node_t, node: *mut yaml_node_t,
@ -346,6 +355,7 @@ unsafe fn yaml_emitter_dump_scalar(
(*event).data.scalar.style = (*node).data.scalar.style; (*event).data.scalar.style = (*node).data.scalar.style;
yaml_emitter_emit(emitter, event) yaml_emitter_emit(emitter, event)
} }
unsafe fn yaml_emitter_dump_sequence( unsafe fn yaml_emitter_dump_sequence(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
node: *mut yaml_node_t, node: *mut yaml_node_t,
@ -398,6 +408,7 @@ unsafe fn yaml_emitter_dump_sequence(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_dump_mapping( unsafe fn yaml_emitter_dump_mapping(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
node: *mut yaml_node_t, node: *mut yaml_node_t,

View file

@ -20,6 +20,7 @@ use crate::{
YAML_STREAM_START_EVENT, YAML_UTF8_ENCODING, YAML_STREAM_START_EVENT, YAML_UTF8_ENCODING,
}; };
use core::ptr::{self, addr_of_mut}; use core::ptr::{self, addr_of_mut};
unsafe fn yaml_emitter_set_emitter_error( unsafe fn yaml_emitter_set_emitter_error(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
problem: *const libc::c_char, problem: *const libc::c_char,
@ -29,6 +30,7 @@ unsafe fn yaml_emitter_set_emitter_error(
*fresh0 = problem; *fresh0 = problem;
0_i32 0_i32
} }
/// Emit an event. /// Emit an event.
/// ///
/// The event object may be generated using the yaml_parser_parse() function. /// The event object may be generated using the yaml_parser_parse() function.
@ -76,6 +78,7 @@ pub unsafe fn yaml_emitter_emit(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_need_more_events(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_need_more_events(emitter: *mut yaml_emitter_t) -> libc::c_int {
let mut level: libc::c_int = 0_i32; let mut level: libc::c_int = 0_i32;
let mut event: *mut yaml_event_t; let mut event: *mut yaml_event_t;
@ -111,6 +114,7 @@ unsafe fn yaml_emitter_need_more_events(emitter: *mut yaml_emitter_t) -> libc::c
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_append_tag_directive( unsafe fn yaml_emitter_append_tag_directive(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: yaml_tag_directive_t, value: yaml_tag_directive_t,
@ -165,6 +169,7 @@ unsafe fn yaml_emitter_append_tag_directive(
yaml_free(copy.prefix as *mut libc::c_void); yaml_free(copy.prefix as *mut libc::c_void);
0_i32 0_i32
} }
unsafe fn yaml_emitter_increase_indent( unsafe fn yaml_emitter_increase_indent(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
flow: libc::c_int, flow: libc::c_int,
@ -200,6 +205,7 @@ unsafe fn yaml_emitter_increase_indent(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_state_machine( unsafe fn yaml_emitter_state_machine(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -252,6 +258,7 @@ unsafe fn yaml_emitter_state_machine(
} }
0_i32 0_i32
} }
unsafe fn yaml_emitter_emit_stream_start( unsafe fn yaml_emitter_emit_stream_start(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -296,6 +303,7 @@ unsafe fn yaml_emitter_emit_stream_start(
b"expected STREAM-START\0" as *const u8 as *const libc::c_char, b"expected STREAM-START\0" as *const u8 as *const libc::c_char,
) )
} }
unsafe fn yaml_emitter_emit_document_start( unsafe fn yaml_emitter_emit_document_start(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -500,6 +508,7 @@ unsafe fn yaml_emitter_emit_document_start(
b"expected DOCUMENT-START or STREAM-END\0" as *const u8 as *const libc::c_char, b"expected DOCUMENT-START or STREAM-END\0" as *const u8 as *const libc::c_char,
) )
} }
unsafe fn yaml_emitter_emit_document_content( unsafe fn yaml_emitter_emit_document_content(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -525,6 +534,7 @@ unsafe fn yaml_emitter_emit_document_content(
} }
yaml_emitter_emit_node(emitter, event, 1_i32, 0_i32, 0_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 1_i32, 0_i32, 0_i32, 0_i32)
} }
unsafe fn yaml_emitter_emit_document_end( unsafe fn yaml_emitter_emit_document_end(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -569,6 +579,7 @@ unsafe fn yaml_emitter_emit_document_end(
b"expected DOCUMENT-END\0" as *const u8 as *const libc::c_char, b"expected DOCUMENT-END\0" as *const u8 as *const libc::c_char,
) )
} }
unsafe fn yaml_emitter_emit_flow_sequence_item( unsafe fn yaml_emitter_emit_flow_sequence_item(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -665,6 +676,7 @@ unsafe fn yaml_emitter_emit_flow_sequence_item(
} }
yaml_emitter_emit_node(emitter, event, 0_i32, 1_i32, 0_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 0_i32, 1_i32, 0_i32, 0_i32)
} }
unsafe fn yaml_emitter_emit_flow_mapping_key( unsafe fn yaml_emitter_emit_flow_mapping_key(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -794,6 +806,7 @@ unsafe fn yaml_emitter_emit_flow_mapping_key(
yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32)
} }
} }
unsafe fn yaml_emitter_emit_flow_mapping_value( unsafe fn yaml_emitter_emit_flow_mapping_value(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -848,6 +861,7 @@ unsafe fn yaml_emitter_emit_flow_mapping_value(
} }
yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32)
} }
unsafe fn yaml_emitter_emit_block_sequence_item( unsafe fn yaml_emitter_emit_block_sequence_item(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -906,6 +920,7 @@ unsafe fn yaml_emitter_emit_block_sequence_item(
} }
yaml_emitter_emit_node(emitter, event, 0_i32, 1_i32, 0_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 0_i32, 1_i32, 0_i32, 0_i32)
} }
unsafe fn yaml_emitter_emit_block_mapping_key( unsafe fn yaml_emitter_emit_block_mapping_key(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -982,6 +997,7 @@ unsafe fn yaml_emitter_emit_block_mapping_key(
yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32)
} }
} }
unsafe fn yaml_emitter_emit_block_mapping_value( unsafe fn yaml_emitter_emit_block_mapping_value(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1034,6 +1050,7 @@ unsafe fn yaml_emitter_emit_block_mapping_value(
} }
yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32) yaml_emitter_emit_node(emitter, event, 0_i32, 0_i32, 1_i32, 0_i32)
} }
unsafe fn yaml_emitter_emit_node( unsafe fn yaml_emitter_emit_node(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1058,6 +1075,7 @@ unsafe fn yaml_emitter_emit_node(
), ),
} }
} }
unsafe fn yaml_emitter_emit_alias( unsafe fn yaml_emitter_emit_alias(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
_event: *mut yaml_event_t, _event: *mut yaml_event_t,
@ -1086,6 +1104,7 @@ unsafe fn yaml_emitter_emit_alias(
(*emitter).state = **fresh43; (*emitter).state = **fresh43;
1_i32 1_i32
} }
unsafe fn yaml_emitter_emit_scalar( unsafe fn yaml_emitter_emit_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1113,6 +1132,7 @@ unsafe fn yaml_emitter_emit_scalar(
(*emitter).state = **fresh45; (*emitter).state = **fresh45;
1_i32 1_i32
} }
unsafe fn yaml_emitter_emit_sequence_start( unsafe fn yaml_emitter_emit_sequence_start(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1135,6 +1155,7 @@ unsafe fn yaml_emitter_emit_sequence_start(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_emit_mapping_start( unsafe fn yaml_emitter_emit_mapping_start(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1157,9 +1178,11 @@ unsafe fn yaml_emitter_emit_mapping_start(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_check_empty_document(_emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_check_empty_document(_emitter: *mut yaml_emitter_t) -> libc::c_int {
0_i32 0_i32
} }
unsafe fn yaml_emitter_check_empty_sequence(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_check_empty_sequence(emitter: *mut yaml_emitter_t) -> libc::c_int {
if (((*emitter).events.tail).c_offset_from((*emitter).events.head) as libc::c_long) < 2_i64 { if (((*emitter).events.tail).c_offset_from((*emitter).events.head) as libc::c_long) < 2_i64 {
return 0_i32; return 0_i32;
@ -1169,6 +1192,7 @@ unsafe fn yaml_emitter_check_empty_sequence(emitter: *mut yaml_emitter_t) -> lib
&& (*((*emitter).events.head).wrapping_offset(1_isize)).type_ as libc::c_uint && (*((*emitter).events.head).wrapping_offset(1_isize)).type_ as libc::c_uint
== YAML_SEQUENCE_END_EVENT as libc::c_int as libc::c_uint) as libc::c_int == YAML_SEQUENCE_END_EVENT as libc::c_int as libc::c_uint) as libc::c_int
} }
unsafe fn yaml_emitter_check_empty_mapping(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_check_empty_mapping(emitter: *mut yaml_emitter_t) -> libc::c_int {
if (((*emitter).events.tail).c_offset_from((*emitter).events.head) as libc::c_long) < 2_i64 { if (((*emitter).events.tail).c_offset_from((*emitter).events.head) as libc::c_long) < 2_i64 {
return 0_i32; return 0_i32;
@ -1178,6 +1202,7 @@ unsafe fn yaml_emitter_check_empty_mapping(emitter: *mut yaml_emitter_t) -> libc
&& (*((*emitter).events.head).wrapping_offset(1_isize)).type_ as libc::c_uint && (*((*emitter).events.head).wrapping_offset(1_isize)).type_ as libc::c_uint
== YAML_MAPPING_END_EVENT as libc::c_int as libc::c_uint) as libc::c_int == YAML_MAPPING_END_EVENT as libc::c_int as libc::c_uint) as libc::c_int
} }
unsafe fn yaml_emitter_check_simple_key(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_check_simple_key(emitter: *mut yaml_emitter_t) -> libc::c_int {
let event: *mut yaml_event_t = (*emitter).events.head; let event: *mut yaml_event_t = (*emitter).events.head;
let mut length: size_t = 0_u64; let mut length: size_t = 0_u64;
@ -1224,6 +1249,7 @@ unsafe fn yaml_emitter_check_simple_key(emitter: *mut yaml_emitter_t) -> libc::c
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_select_scalar_style( unsafe fn yaml_emitter_select_scalar_style(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1290,6 +1316,7 @@ unsafe fn yaml_emitter_select_scalar_style(
(*emitter).scalar_data.style = style; (*emitter).scalar_data.style = style;
1_i32 1_i32
} }
unsafe fn yaml_emitter_process_anchor(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_process_anchor(emitter: *mut yaml_emitter_t) -> libc::c_int {
if ((*emitter).anchor_data.anchor).is_null() { if ((*emitter).anchor_data.anchor).is_null() {
return 1_i32; return 1_i32;
@ -1314,6 +1341,7 @@ unsafe fn yaml_emitter_process_anchor(emitter: *mut yaml_emitter_t) -> libc::c_i
(*emitter).anchor_data.anchor_length, (*emitter).anchor_data.anchor_length,
) )
} }
unsafe fn yaml_emitter_process_tag(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_process_tag(emitter: *mut yaml_emitter_t) -> libc::c_int {
if ((*emitter).tag_data.handle).is_null() && ((*emitter).tag_data.suffix).is_null() { if ((*emitter).tag_data.handle).is_null() && ((*emitter).tag_data.suffix).is_null() {
return 1_i32; return 1_i32;
@ -1371,6 +1399,7 @@ unsafe fn yaml_emitter_process_tag(emitter: *mut yaml_emitter_t) -> libc::c_int
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_process_scalar(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_process_scalar(emitter: *mut yaml_emitter_t) -> libc::c_int {
match (*emitter).scalar_data.style as libc::c_uint { match (*emitter).scalar_data.style as libc::c_uint {
1 => { 1 => {
@ -1415,6 +1444,7 @@ unsafe fn yaml_emitter_process_scalar(emitter: *mut yaml_emitter_t) -> libc::c_i
} }
0_i32 0_i32
} }
unsafe fn yaml_emitter_analyze_version_directive( unsafe fn yaml_emitter_analyze_version_directive(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
version_directive: yaml_version_directive_t, version_directive: yaml_version_directive_t,
@ -1429,6 +1459,7 @@ unsafe fn yaml_emitter_analyze_version_directive(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_analyze_tag_directive( unsafe fn yaml_emitter_analyze_tag_directive(
emitter: *mut yaml_emitter_t, emitter: *mut yaml_emitter_t,
tag_directive: yaml_tag_directive_t, tag_directive: yaml_tag_directive_t,
@ -1511,6 +1542,7 @@ unsafe fn yaml_emitter_analyze_tag_directive(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_analyze_anchor( unsafe fn yaml_emitter_analyze_anchor(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
anchor: *mut yaml_char_t, anchor: *mut yaml_char_t,
@ -1583,6 +1615,7 @@ unsafe fn yaml_emitter_analyze_anchor(
(*emitter).anchor_data.alias = alias; (*emitter).anchor_data.alias = alias;
1_i32 1_i32
} }
unsafe fn yaml_emitter_analyze_tag( unsafe fn yaml_emitter_analyze_tag(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
tag: *mut yaml_char_t, tag: *mut yaml_char_t,
@ -1629,6 +1662,7 @@ unsafe fn yaml_emitter_analyze_tag(
string.end.c_offset_from(string.start) as libc::c_long as size_t; string.end.c_offset_from(string.start) as libc::c_long as size_t;
1_i32 1_i32
} }
unsafe fn yaml_emitter_analyze_scalar( unsafe fn yaml_emitter_analyze_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -2534,6 +2568,7 @@ unsafe fn yaml_emitter_analyze_scalar(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_analyze_event( unsafe fn yaml_emitter_analyze_event(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -2619,6 +2654,7 @@ unsafe fn yaml_emitter_analyze_event(
_ => 1_i32, _ => 1_i32,
} }
} }
unsafe fn yaml_emitter_write_bom(emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_write_bom(emitter: *mut yaml_emitter_t) -> libc::c_int {
if !(((*emitter).buffer.pointer).wrapping_offset(5_isize) < (*emitter).buffer.end if !(((*emitter).buffer.pointer).wrapping_offset(5_isize) < (*emitter).buffer.end
|| yaml_emitter_flush(emitter) != 0) || yaml_emitter_flush(emitter) != 0)
@ -2639,6 +2675,7 @@ unsafe fn yaml_emitter_write_bom(emitter: *mut yaml_emitter_t) -> libc::c_int {
*fresh61 = -65i32 as yaml_char_t; *fresh61 = -65i32 as yaml_char_t;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_indent(mut emitter: *mut yaml_emitter_t) -> libc::c_int { unsafe fn yaml_emitter_write_indent(mut emitter: *mut yaml_emitter_t) -> libc::c_int {
let indent: libc::c_int = if (*emitter).indent >= 0_i32 { let indent: libc::c_int = if (*emitter).indent >= 0_i32 {
(*emitter).indent (*emitter).indent
@ -2707,6 +2744,7 @@ unsafe fn yaml_emitter_write_indent(mut emitter: *mut yaml_emitter_t) -> libc::c
(*emitter).indention = 1_i32; (*emitter).indention = 1_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_indicator( unsafe fn yaml_emitter_write_indicator(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
indicator: *const libc::c_char, indicator: *const libc::c_char,
@ -2817,6 +2855,7 @@ unsafe fn yaml_emitter_write_indicator(
(*emitter).indention = ((*emitter).indention != 0 && is_indention != 0) as libc::c_int; (*emitter).indention = ((*emitter).indention != 0 && is_indention != 0) as libc::c_int;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_anchor( unsafe fn yaml_emitter_write_anchor(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -2908,6 +2947,7 @@ unsafe fn yaml_emitter_write_anchor(
(*emitter).indention = 0_i32; (*emitter).indention = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_tag_handle( unsafe fn yaml_emitter_write_tag_handle(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -3015,6 +3055,7 @@ unsafe fn yaml_emitter_write_tag_handle(
(*emitter).indention = 0_i32; (*emitter).indention = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_tag_content( unsafe fn yaml_emitter_write_tag_content(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -3260,6 +3301,7 @@ unsafe fn yaml_emitter_write_tag_content(
(*emitter).indention = 0_i32; (*emitter).indention = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_plain_scalar( unsafe fn yaml_emitter_write_plain_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -3671,6 +3713,7 @@ unsafe fn yaml_emitter_write_plain_scalar(
(*emitter).indention = 0_i32; (*emitter).indention = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_single_quoted_scalar( unsafe fn yaml_emitter_write_single_quoted_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -4111,6 +4154,7 @@ unsafe fn yaml_emitter_write_single_quoted_scalar(
(*emitter).indention = 0_i32; (*emitter).indention = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_double_quoted_scalar( unsafe fn yaml_emitter_write_double_quoted_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -4792,6 +4836,7 @@ unsafe fn yaml_emitter_write_double_quoted_scalar(
(*emitter).indention = 0_i32; (*emitter).indention = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_block_scalar_hints( unsafe fn yaml_emitter_write_block_scalar_hints(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
mut string: yaml_string_t, mut string: yaml_string_t,
@ -4905,6 +4950,7 @@ unsafe fn yaml_emitter_write_block_scalar_hints(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_literal_scalar( unsafe fn yaml_emitter_write_literal_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,
@ -5195,6 +5241,7 @@ unsafe fn yaml_emitter_write_literal_scalar(
} }
1_i32 1_i32
} }
unsafe fn yaml_emitter_write_folded_scalar( unsafe fn yaml_emitter_write_folded_scalar(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
value: *mut yaml_char_t, value: *mut yaml_char_t,

View file

@ -10,12 +10,14 @@ use crate::{
}; };
use core::mem::{size_of, MaybeUninit}; use core::mem::{size_of, MaybeUninit};
use core::ptr::{self, addr_of_mut}; use core::ptr::{self, addr_of_mut};
#[repr(C)] #[repr(C)]
struct loader_ctx { struct loader_ctx {
start: *mut libc::c_int, start: *mut libc::c_int,
end: *mut libc::c_int, end: *mut libc::c_int,
top: *mut libc::c_int, top: *mut libc::c_int,
} }
/// Parse the input stream and produce the next YAML document. /// Parse the input stream and produce the next YAML document.
/// ///
/// Call this function subsequently to produce a sequence of documents /// Call this function subsequently to produce a sequence of documents
@ -119,6 +121,7 @@ pub unsafe fn yaml_parser_load(
*fresh8 = ptr::null_mut::<yaml_document_t>(); *fresh8 = ptr::null_mut::<yaml_document_t>();
0_i32 0_i32
} }
unsafe fn yaml_parser_set_composer_error( unsafe fn yaml_parser_set_composer_error(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
problem: *const libc::c_char, problem: *const libc::c_char,
@ -130,6 +133,7 @@ unsafe fn yaml_parser_set_composer_error(
(*parser).problem_mark = problem_mark; (*parser).problem_mark = problem_mark;
0_i32 0_i32
} }
unsafe fn yaml_parser_set_composer_error_context( unsafe fn yaml_parser_set_composer_error_context(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
context: *const libc::c_char, context: *const libc::c_char,
@ -146,6 +150,7 @@ unsafe fn yaml_parser_set_composer_error_context(
(*parser).problem_mark = problem_mark; (*parser).problem_mark = problem_mark;
0_i32 0_i32
} }
unsafe fn yaml_parser_delete_aliases(parser: *mut yaml_parser_t) { unsafe fn yaml_parser_delete_aliases(parser: *mut yaml_parser_t) {
while !((*parser).aliases.start == (*parser).aliases.top) { while !((*parser).aliases.start == (*parser).aliases.top) {
let fresh12 = addr_of_mut!((*parser).aliases.top); let fresh12 = addr_of_mut!((*parser).aliases.top);
@ -160,6 +165,7 @@ unsafe fn yaml_parser_delete_aliases(parser: *mut yaml_parser_t) {
let fresh15 = addr_of_mut!((*parser).aliases.start); let fresh15 = addr_of_mut!((*parser).aliases.start);
*fresh15 = *fresh14; *fresh15 = *fresh14;
} }
unsafe fn yaml_parser_load_document( unsafe fn yaml_parser_load_document(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -206,6 +212,7 @@ unsafe fn yaml_parser_load_document(
ctx.start = ctx.top; ctx.start = ctx.top;
1_i32 1_i32
} }
unsafe fn yaml_parser_load_nodes( unsafe fn yaml_parser_load_nodes(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
ctx: *mut loader_ctx, ctx: *mut loader_ctx,
@ -262,6 +269,7 @@ unsafe fn yaml_parser_load_nodes(
(*(*parser).document).end_mark = (*event).end_mark; (*(*parser).document).end_mark = (*event).end_mark;
1_i32 1_i32
} }
unsafe fn yaml_parser_register_anchor( unsafe fn yaml_parser_register_anchor(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
index: libc::c_int, index: libc::c_int,
@ -317,6 +325,7 @@ unsafe fn yaml_parser_register_anchor(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_load_node_add( unsafe fn yaml_parser_load_node_add(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
ctx: *mut loader_ctx, ctx: *mut loader_ctx,
@ -429,6 +438,7 @@ unsafe fn yaml_parser_load_node_add(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_load_alias( unsafe fn yaml_parser_load_alias(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -455,6 +465,7 @@ unsafe fn yaml_parser_load_alias(
(*event).start_mark, (*event).start_mark,
) )
} }
unsafe fn yaml_parser_load_scalar( unsafe fn yaml_parser_load_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -542,6 +553,7 @@ unsafe fn yaml_parser_load_scalar(
yaml_free((*event).data.scalar.value as *mut libc::c_void); yaml_free((*event).data.scalar.value as *mut libc::c_void);
0_i32 0_i32
} }
unsafe fn yaml_parser_load_sequence( unsafe fn yaml_parser_load_sequence(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -690,6 +702,7 @@ unsafe fn yaml_parser_load_sequence(
yaml_free((*event).data.sequence_start.anchor as *mut libc::c_void); yaml_free((*event).data.sequence_start.anchor as *mut libc::c_void);
0_i32 0_i32
} }
unsafe fn yaml_parser_load_sequence_end( unsafe fn yaml_parser_load_sequence_end(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -708,6 +721,7 @@ unsafe fn yaml_parser_load_sequence_end(
*fresh31 = (*fresh31).wrapping_offset(-1); *fresh31 = (*fresh31).wrapping_offset(-1);
1_i32 1_i32
} }
unsafe fn yaml_parser_load_mapping( unsafe fn yaml_parser_load_mapping(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -856,6 +870,7 @@ unsafe fn yaml_parser_load_mapping(
yaml_free((*event).data.mapping_start.anchor as *mut libc::c_void); yaml_free((*event).data.mapping_start.anchor as *mut libc::c_void);
0_i32 0_i32
} }
unsafe fn yaml_parser_load_mapping_end( unsafe fn yaml_parser_load_mapping_end(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,

View file

@ -30,6 +30,7 @@ use crate::{
}; };
use core::mem::size_of; use core::mem::size_of;
use core::ptr::{self, addr_of_mut}; use core::ptr::{self, addr_of_mut};
/// Parse the input stream and produce the next parsing event. /// Parse the input stream and produce the next parsing event.
/// ///
/// Call the function subsequently to produce a sequence of events corresponding /// Call the function subsequently to produce a sequence of events corresponding
@ -63,6 +64,7 @@ pub unsafe fn yaml_parser_parse(
} }
yaml_parser_state_machine(parser, event) yaml_parser_state_machine(parser, event)
} }
unsafe fn yaml_parser_set_parser_error( unsafe fn yaml_parser_set_parser_error(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
problem: *const libc::c_char, problem: *const libc::c_char,
@ -74,6 +76,7 @@ unsafe fn yaml_parser_set_parser_error(
(*parser).problem_mark = problem_mark; (*parser).problem_mark = problem_mark;
0_i32 0_i32
} }
unsafe fn yaml_parser_set_parser_error_context( unsafe fn yaml_parser_set_parser_error_context(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
context: *const libc::c_char, context: *const libc::c_char,
@ -90,6 +93,7 @@ unsafe fn yaml_parser_set_parser_error_context(
(*parser).problem_mark = problem_mark; (*parser).problem_mark = problem_mark;
0_i32 0_i32
} }
unsafe fn yaml_parser_state_machine( unsafe fn yaml_parser_state_machine(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -140,6 +144,7 @@ unsafe fn yaml_parser_state_machine(
} }
0_i32 0_i32
} }
unsafe fn yaml_parser_parse_stream_start( unsafe fn yaml_parser_parse_stream_start(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -180,6 +185,7 @@ unsafe fn yaml_parser_parse_stream_start(
*fresh4 = (*fresh4).wrapping_offset(1); *fresh4 = (*fresh4).wrapping_offset(1);
1_i32 1_i32
} }
unsafe fn yaml_parser_parse_document_start( unsafe fn yaml_parser_parse_document_start(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -383,6 +389,7 @@ unsafe fn yaml_parser_parse_document_start(
1_i32 1_i32
} }
} }
unsafe fn yaml_parser_parse_document_content( unsafe fn yaml_parser_parse_document_content(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -411,6 +418,7 @@ unsafe fn yaml_parser_parse_document_content(
yaml_parser_parse_node(parser, event, 1_i32, 0_i32) yaml_parser_parse_node(parser, event, 1_i32, 0_i32)
} }
} }
unsafe fn yaml_parser_parse_document_end( unsafe fn yaml_parser_parse_document_end(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -459,6 +467,7 @@ unsafe fn yaml_parser_parse_document_end(
(*event).data.document_end.implicit = implicit; (*event).data.document_end.implicit = implicit;
1_i32 1_i32
} }
unsafe fn yaml_parser_parse_node( unsafe fn yaml_parser_parse_node(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -911,6 +920,7 @@ unsafe fn yaml_parser_parse_node(
0_i32 0_i32
} }
} }
unsafe fn yaml_parser_parse_block_sequence_entry( unsafe fn yaml_parser_parse_block_sequence_entry(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1040,6 +1050,7 @@ unsafe fn yaml_parser_parse_block_sequence_entry(
) )
} }
} }
unsafe fn yaml_parser_parse_indentless_sequence_entry( unsafe fn yaml_parser_parse_indentless_sequence_entry(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1115,6 +1126,7 @@ unsafe fn yaml_parser_parse_indentless_sequence_entry(
1_i32 1_i32
} }
} }
unsafe fn yaml_parser_parse_block_mapping_key( unsafe fn yaml_parser_parse_block_mapping_key(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1245,6 +1257,7 @@ unsafe fn yaml_parser_parse_block_mapping_key(
) )
} }
} }
unsafe fn yaml_parser_parse_block_mapping_value( unsafe fn yaml_parser_parse_block_mapping_value(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1309,6 +1322,7 @@ unsafe fn yaml_parser_parse_block_mapping_value(
yaml_parser_process_empty_scalar(parser, event, (*token).start_mark) yaml_parser_process_empty_scalar(parser, event, (*token).start_mark)
} }
} }
unsafe fn yaml_parser_parse_flow_sequence_entry( unsafe fn yaml_parser_parse_flow_sequence_entry(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1466,6 +1480,7 @@ unsafe fn yaml_parser_parse_flow_sequence_entry(
*fresh108 = (*fresh108).wrapping_offset(1); *fresh108 = (*fresh108).wrapping_offset(1);
1_i32 1_i32
} }
unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_key( unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_key(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1518,6 +1533,7 @@ unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_key(
yaml_parser_process_empty_scalar(parser, event, mark) yaml_parser_process_empty_scalar(parser, event, mark)
} }
} }
unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_value( unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_value(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1577,6 +1593,7 @@ unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_value(
(*parser).state = YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE; (*parser).state = YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE;
yaml_parser_process_empty_scalar(parser, event, (*token).start_mark) yaml_parser_process_empty_scalar(parser, event, (*token).start_mark)
} }
unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_end( unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_end(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1601,6 +1618,7 @@ unsafe fn yaml_parser_parse_flow_sequence_entry_mapping_end(
(*event).end_mark = (*token).start_mark; (*event).end_mark = (*token).start_mark;
1_i32 1_i32
} }
unsafe fn yaml_parser_parse_flow_mapping_key( unsafe fn yaml_parser_parse_flow_mapping_key(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1781,6 +1799,7 @@ unsafe fn yaml_parser_parse_flow_mapping_key(
*fresh133 = (*fresh133).wrapping_offset(1); *fresh133 = (*fresh133).wrapping_offset(1);
1_i32 1_i32
} }
unsafe fn yaml_parser_parse_flow_mapping_value( unsafe fn yaml_parser_parse_flow_mapping_value(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
event: *mut yaml_event_t, event: *mut yaml_event_t,
@ -1845,6 +1864,7 @@ unsafe fn yaml_parser_parse_flow_mapping_value(
(*parser).state = YAML_PARSE_FLOW_MAPPING_KEY_STATE; (*parser).state = YAML_PARSE_FLOW_MAPPING_KEY_STATE;
yaml_parser_process_empty_scalar(parser, event, (*token).start_mark) yaml_parser_process_empty_scalar(parser, event, (*token).start_mark)
} }
unsafe fn yaml_parser_process_empty_scalar( unsafe fn yaml_parser_process_empty_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut event: *mut yaml_event_t, mut event: *mut yaml_event_t,
@ -1876,6 +1896,7 @@ unsafe fn yaml_parser_process_empty_scalar(
(*event).data.scalar.style = YAML_PLAIN_SCALAR_STYLE; (*event).data.scalar.style = YAML_PLAIN_SCALAR_STYLE;
1_i32 1_i32
} }
unsafe fn yaml_parser_process_directives( unsafe fn yaml_parser_process_directives(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
version_directive_ref: *mut *mut yaml_version_directive_t, version_directive_ref: *mut *mut yaml_version_directive_t,
@ -2097,6 +2118,7 @@ unsafe fn yaml_parser_process_directives(
tag_directives.start = tag_directives.top; tag_directives.start = tag_directives.top;
0_i32 0_i32
} }
unsafe fn yaml_parser_append_tag_directive( unsafe fn yaml_parser_append_tag_directive(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
value: yaml_tag_directive_t, value: yaml_tag_directive_t,

View file

@ -5,6 +5,7 @@ use crate::{
YAML_UTF16LE_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF8_ENCODING,
}; };
use core::ptr::addr_of_mut; use core::ptr::addr_of_mut;
unsafe fn yaml_parser_set_reader_error( unsafe fn yaml_parser_set_reader_error(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
problem: *const libc::c_char, problem: *const libc::c_char,
@ -18,6 +19,7 @@ unsafe fn yaml_parser_set_reader_error(
(*parser).problem_value = value; (*parser).problem_value = value;
0_i32 0_i32
} }
unsafe fn yaml_parser_determine_encoding(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_determine_encoding(mut parser: *mut yaml_parser_t) -> libc::c_int {
while (*parser).eof == 0 while (*parser).eof == 0
&& (((*parser).raw_buffer.last).c_offset_from((*parser).raw_buffer.pointer) as libc::c_long) && (((*parser).raw_buffer.last).c_offset_from((*parser).raw_buffer.pointer) as libc::c_long)
@ -73,6 +75,7 @@ unsafe fn yaml_parser_determine_encoding(mut parser: *mut yaml_parser_t) -> libc
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_update_raw_buffer(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_update_raw_buffer(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut size_read: size_t = 0_u64; let mut size_read: size_t = 0_u64;
if (*parser).raw_buffer.start == (*parser).raw_buffer.pointer if (*parser).raw_buffer.start == (*parser).raw_buffer.pointer
@ -122,6 +125,7 @@ unsafe fn yaml_parser_update_raw_buffer(mut parser: *mut yaml_parser_t) -> libc:
} }
1_i32 1_i32
} }
pub(crate) unsafe fn yaml_parser_update_buffer( pub(crate) unsafe fn yaml_parser_update_buffer(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
length: size_t, length: size_t,

View file

@ -19,6 +19,7 @@ use crate::{
}; };
use core::mem::{size_of, MaybeUninit}; use core::mem::{size_of, MaybeUninit};
use core::ptr::{self, addr_of_mut}; use core::ptr::{self, addr_of_mut};
/// Scan the input stream and produce the next token. /// Scan the input stream and produce the next token.
/// ///
/// Call the function subsequently to produce a sequence of tokens corresponding /// Call the function subsequently to produce a sequence of tokens corresponding
@ -64,6 +65,7 @@ pub unsafe fn yaml_parser_scan(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_set_scanner_error( unsafe fn yaml_parser_set_scanner_error(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
context: *const libc::c_char, context: *const libc::c_char,
@ -79,6 +81,7 @@ unsafe fn yaml_parser_set_scanner_error(
(*parser).problem_mark = (*parser).mark; (*parser).problem_mark = (*parser).mark;
0_i32 0_i32
} }
pub(crate) unsafe fn yaml_parser_fetch_more_tokens(mut parser: *mut yaml_parser_t) -> libc::c_int { pub(crate) unsafe fn yaml_parser_fetch_more_tokens(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut need_more_tokens: libc::c_int; let mut need_more_tokens: libc::c_int;
loop { loop {
@ -112,6 +115,7 @@ pub(crate) unsafe fn yaml_parser_fetch_more_tokens(mut parser: *mut yaml_parser_
(*parser).token_available = 1_i32; (*parser).token_available = 1_i32;
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_next_token(parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_next_token(parser: *mut yaml_parser_t) -> libc::c_int {
if if (*parser).unread >= 1_u64 { if if (*parser).unread >= 1_u64 {
1_i32 1_i32
@ -522,6 +526,7 @@ unsafe fn yaml_parser_fetch_next_token(parser: *mut yaml_parser_t) -> libc::c_in
b"found character that cannot start any token\0" as *const u8 as *const libc::c_char, b"found character that cannot start any token\0" as *const u8 as *const libc::c_char,
) )
} }
unsafe fn yaml_parser_stale_simple_keys(parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_stale_simple_keys(parser: *mut yaml_parser_t) -> libc::c_int {
let mut simple_key: *mut yaml_simple_key_t; let mut simple_key: *mut yaml_simple_key_t;
simple_key = (*parser).simple_keys.start; simple_key = (*parser).simple_keys.start;
@ -544,6 +549,7 @@ unsafe fn yaml_parser_stale_simple_keys(parser: *mut yaml_parser_t) -> libc::c_i
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_save_simple_key(parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_save_simple_key(parser: *mut yaml_parser_t) -> libc::c_int {
let required: libc::c_int = ((*parser).flow_level == 0 let required: libc::c_int = ((*parser).flow_level == 0
&& (*parser).indent as libc::c_long == (*parser).mark.column as ptrdiff_t) && (*parser).indent as libc::c_long == (*parser).mark.column as ptrdiff_t)
@ -564,6 +570,7 @@ unsafe fn yaml_parser_save_simple_key(parser: *mut yaml_parser_t) -> libc::c_int
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_remove_simple_key(parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_remove_simple_key(parser: *mut yaml_parser_t) -> libc::c_int {
let mut simple_key: *mut yaml_simple_key_t = let mut simple_key: *mut yaml_simple_key_t =
((*parser).simple_keys.top).wrapping_offset(-(1_isize)); ((*parser).simple_keys.top).wrapping_offset(-(1_isize));
@ -580,6 +587,7 @@ unsafe fn yaml_parser_remove_simple_key(parser: *mut yaml_parser_t) -> libc::c_i
(*simple_key).possible = 0_i32; (*simple_key).possible = 0_i32;
1_i32 1_i32
} }
unsafe fn yaml_parser_increase_flow_level(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_increase_flow_level(mut parser: *mut yaml_parser_t) -> libc::c_int {
let empty_simple_key = yaml_simple_key_t { let empty_simple_key = yaml_simple_key_t {
possible: 0_i32, possible: 0_i32,
@ -618,6 +626,7 @@ unsafe fn yaml_parser_increase_flow_level(mut parser: *mut yaml_parser_t) -> lib
*fresh7 += 1; *fresh7 += 1;
1_i32 1_i32
} }
unsafe fn yaml_parser_decrease_flow_level(parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_decrease_flow_level(parser: *mut yaml_parser_t) -> libc::c_int {
if (*parser).flow_level != 0 { if (*parser).flow_level != 0 {
let fresh8 = addr_of_mut!((*parser).flow_level); let fresh8 = addr_of_mut!((*parser).flow_level);
@ -627,6 +636,7 @@ unsafe fn yaml_parser_decrease_flow_level(parser: *mut yaml_parser_t) -> libc::c
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_roll_indent( unsafe fn yaml_parser_roll_indent(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
column: ptrdiff_t, column: ptrdiff_t,
@ -731,6 +741,7 @@ unsafe fn yaml_parser_roll_indent(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_unroll_indent( unsafe fn yaml_parser_unroll_indent(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
column: ptrdiff_t, column: ptrdiff_t,
@ -775,6 +786,7 @@ unsafe fn yaml_parser_unroll_indent(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_stream_start(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_stream_start(mut parser: *mut yaml_parser_t) -> libc::c_int {
let simple_key = yaml_simple_key_t { let simple_key = yaml_simple_key_t {
possible: 0_i32, possible: 0_i32,
@ -841,6 +853,7 @@ unsafe fn yaml_parser_fetch_stream_start(mut parser: *mut yaml_parser_t) -> libc
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_stream_end(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_stream_end(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -886,6 +899,7 @@ unsafe fn yaml_parser_fetch_stream_end(mut parser: *mut yaml_parser_t) -> libc::
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_directive(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_directive(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -922,6 +936,7 @@ unsafe fn yaml_parser_fetch_directive(mut parser: *mut yaml_parser_t) -> libc::c
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_document_indicator( unsafe fn yaml_parser_fetch_document_indicator(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
type_: yaml_token_type_t, type_: yaml_token_type_t,
@ -1048,6 +1063,7 @@ unsafe fn yaml_parser_fetch_document_indicator(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_flow_collection_start( unsafe fn yaml_parser_fetch_flow_collection_start(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
type_: yaml_token_type_t, type_: yaml_token_type_t,
@ -1120,6 +1136,7 @@ unsafe fn yaml_parser_fetch_flow_collection_start(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_flow_collection_end( unsafe fn yaml_parser_fetch_flow_collection_end(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
type_: yaml_token_type_t, type_: yaml_token_type_t,
@ -1192,6 +1209,7 @@ unsafe fn yaml_parser_fetch_flow_collection_end(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_flow_entry(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_flow_entry(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -1258,6 +1276,7 @@ unsafe fn yaml_parser_fetch_flow_entry(mut parser: *mut yaml_parser_t) -> libc::
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_block_entry(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_block_entry(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -1345,6 +1364,7 @@ unsafe fn yaml_parser_fetch_block_entry(mut parser: *mut yaml_parser_t) -> libc:
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_key(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_key(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -1432,6 +1452,7 @@ unsafe fn yaml_parser_fetch_key(mut parser: *mut yaml_parser_t) -> libc::c_int {
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_value(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_value(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -1578,6 +1599,7 @@ unsafe fn yaml_parser_fetch_value(mut parser: *mut yaml_parser_t) -> libc::c_int
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_anchor( unsafe fn yaml_parser_fetch_anchor(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
type_: yaml_token_type_t, type_: yaml_token_type_t,
@ -1614,6 +1636,7 @@ unsafe fn yaml_parser_fetch_anchor(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_tag(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_tag(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -1647,6 +1670,7 @@ unsafe fn yaml_parser_fetch_tag(mut parser: *mut yaml_parser_t) -> libc::c_int {
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_block_scalar( unsafe fn yaml_parser_fetch_block_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
literal: libc::c_int, literal: libc::c_int,
@ -1683,6 +1707,7 @@ unsafe fn yaml_parser_fetch_block_scalar(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_flow_scalar( unsafe fn yaml_parser_fetch_flow_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
single: libc::c_int, single: libc::c_int,
@ -1719,6 +1744,7 @@ unsafe fn yaml_parser_fetch_flow_scalar(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_fetch_plain_scalar(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_fetch_plain_scalar(mut parser: *mut yaml_parser_t) -> libc::c_int {
let mut token = MaybeUninit::<yaml_token_t>::uninit(); let mut token = MaybeUninit::<yaml_token_t>::uninit();
let token = token.as_mut_ptr(); let token = token.as_mut_ptr();
@ -1752,6 +1778,7 @@ unsafe fn yaml_parser_fetch_plain_scalar(mut parser: *mut yaml_parser_t) -> libc
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_scan_to_next_token(mut parser: *mut yaml_parser_t) -> libc::c_int { unsafe fn yaml_parser_scan_to_next_token(mut parser: *mut yaml_parser_t) -> libc::c_int {
loop { loop {
if if (*parser).unread >= 1_u64 { if if (*parser).unread >= 1_u64 {
@ -2029,6 +2056,7 @@ unsafe fn yaml_parser_scan_to_next_token(mut parser: *mut yaml_parser_t) -> libc
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_scan_directive( unsafe fn yaml_parser_scan_directive(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut token: *mut yaml_token_t, mut token: *mut yaml_token_t,
@ -2525,6 +2553,7 @@ unsafe fn yaml_parser_scan_directive(
yaml_free(name as *mut libc::c_void); yaml_free(name as *mut libc::c_void);
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_directive_name( unsafe fn yaml_parser_scan_directive_name(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
start_mark: yaml_mark_t, start_mark: yaml_mark_t,
@ -2740,6 +2769,7 @@ unsafe fn yaml_parser_scan_directive_name(
string.start = string.pointer; string.start = string.pointer;
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_version_directive_value( unsafe fn yaml_parser_scan_version_directive_value(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
start_mark: yaml_mark_t, start_mark: yaml_mark_t,
@ -2841,6 +2871,7 @@ unsafe fn yaml_parser_scan_version_directive_value(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_scan_version_directive_number( unsafe fn yaml_parser_scan_version_directive_number(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
start_mark: yaml_mark_t, start_mark: yaml_mark_t,
@ -2921,6 +2952,7 @@ unsafe fn yaml_parser_scan_version_directive_number(
*number = value; *number = value;
1_i32 1_i32
} }
unsafe fn yaml_parser_scan_tag_directive_value( unsafe fn yaml_parser_scan_tag_directive_value(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
start_mark: yaml_mark_t, start_mark: yaml_mark_t,
@ -3163,6 +3195,7 @@ unsafe fn yaml_parser_scan_tag_directive_value(
} }
} }
} }
unsafe fn yaml_parser_scan_anchor( unsafe fn yaml_parser_scan_anchor(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut token: *mut yaml_token_t, mut token: *mut yaml_token_t,
@ -3456,6 +3489,7 @@ unsafe fn yaml_parser_scan_anchor(
string.start = string.pointer; string.start = string.pointer;
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_tag( unsafe fn yaml_parser_scan_tag(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
mut token: *mut yaml_token_t, mut token: *mut yaml_token_t,
@ -3738,6 +3772,7 @@ unsafe fn yaml_parser_scan_tag(
yaml_free(suffix as *mut libc::c_void); yaml_free(suffix as *mut libc::c_void);
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_tag_handle( unsafe fn yaml_parser_scan_tag_handle(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
directive: libc::c_int, directive: libc::c_int,
@ -4149,6 +4184,7 @@ unsafe fn yaml_parser_scan_tag_handle(
string.start = string.pointer; string.start = string.pointer;
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_tag_uri( unsafe fn yaml_parser_scan_tag_uri(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
uri_char: libc::c_int, uri_char: libc::c_int,
@ -4461,6 +4497,7 @@ unsafe fn yaml_parser_scan_tag_uri(
} }
} }
} }
unsafe fn yaml_parser_scan_uri_escapes( unsafe fn yaml_parser_scan_uri_escapes(
parser: *mut yaml_parser_t, parser: *mut yaml_parser_t,
directive: libc::c_int, directive: libc::c_int,
@ -4687,6 +4724,7 @@ unsafe fn yaml_parser_scan_uri_escapes(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_scan_block_scalar( unsafe fn yaml_parser_scan_block_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut token: *mut yaml_token_t, mut token: *mut yaml_token_t,
@ -6054,6 +6092,7 @@ unsafe fn yaml_parser_scan_block_scalar(
trailing_breaks.start = trailing_breaks.pointer; trailing_breaks.start = trailing_breaks.pointer;
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_block_scalar_breaks( unsafe fn yaml_parser_scan_block_scalar_breaks(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
indent: *mut libc::c_int, indent: *mut libc::c_int,
@ -6287,6 +6326,7 @@ unsafe fn yaml_parser_scan_block_scalar_breaks(
} }
1_i32 1_i32
} }
unsafe fn yaml_parser_scan_flow_scalar( unsafe fn yaml_parser_scan_flow_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut token: *mut yaml_token_t, mut token: *mut yaml_token_t,
@ -8229,6 +8269,7 @@ unsafe fn yaml_parser_scan_flow_scalar(
whitespaces.start = whitespaces.pointer; whitespaces.start = whitespaces.pointer;
0_i32 0_i32
} }
unsafe fn yaml_parser_scan_plain_scalar( unsafe fn yaml_parser_scan_plain_scalar(
mut parser: *mut yaml_parser_t, mut parser: *mut yaml_parser_t,
mut token: *mut yaml_token_t, mut token: *mut yaml_token_t,

View file

@ -3,6 +3,7 @@ use crate::{
libc, yaml_emitter_t, PointerExt, YAML_UTF16LE_ENCODING, YAML_UTF8_ENCODING, YAML_WRITER_ERROR, libc, yaml_emitter_t, PointerExt, YAML_UTF16LE_ENCODING, YAML_UTF8_ENCODING, YAML_WRITER_ERROR,
}; };
use core::ptr::addr_of_mut; use core::ptr::addr_of_mut;
unsafe fn yaml_emitter_set_writer_error( unsafe fn yaml_emitter_set_writer_error(
mut emitter: *mut yaml_emitter_t, mut emitter: *mut yaml_emitter_t,
problem: *const libc::c_char, problem: *const libc::c_char,
@ -12,6 +13,7 @@ unsafe fn yaml_emitter_set_writer_error(
*fresh0 = problem; *fresh0 = problem;
0_i32 0_i32
} }
/// Flush the accumulated characters to the output. /// Flush the accumulated characters to the output.
/// ///
/// Returns 1 if the function succeeded, 0 on error. /// Returns 1 if the function succeeded, 0 on error.

View file

@ -1,10 +1,12 @@
use crate::libc;
pub use self::{ pub use self::{
yaml_break_t::*, yaml_emitter_state_t::*, yaml_encoding_t::*, yaml_error_type_t::*, yaml_break_t::*, yaml_emitter_state_t::*, yaml_encoding_t::*, yaml_error_type_t::*,
yaml_event_type_t::*, yaml_mapping_style_t::*, yaml_node_type_t::*, yaml_parser_state_t::*, yaml_event_type_t::*, yaml_mapping_style_t::*, yaml_node_type_t::*, yaml_parser_state_t::*,
yaml_scalar_style_t::*, yaml_sequence_style_t::*, yaml_token_type_t::*, yaml_scalar_style_t::*, yaml_sequence_style_t::*, yaml_token_type_t::*,
}; };
use crate::libc;
pub use core::primitive::{i64 as ptrdiff_t, u64 as size_t, u8 as yaml_char_t}; pub use core::primitive::{i64 as ptrdiff_t, u64 as size_t, u8 as yaml_char_t};
/// The version directive data. /// The version directive data.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -15,6 +17,7 @@ pub struct yaml_version_directive_t {
/// The minor version number. /// The minor version number.
pub minor: libc::c_int, pub minor: libc::c_int,
} }
/// The tag directive data. /// The tag directive data.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -25,6 +28,7 @@ pub struct yaml_tag_directive_t {
/// The tag prefix. /// The tag prefix.
pub prefix: *mut yaml_char_t, pub prefix: *mut yaml_char_t,
} }
/// The stream encoding. /// The stream encoding.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -39,6 +43,7 @@ pub enum yaml_encoding_t {
/// The UTF-16-BE encoding with BOM. /// The UTF-16-BE encoding with BOM.
YAML_UTF16BE_ENCODING = 3, YAML_UTF16BE_ENCODING = 3,
} }
/// Line break type. /// Line break type.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -53,6 +58,7 @@ pub enum yaml_break_t {
/// Use CR LN for line breaks (DOS style). /// Use CR LN for line breaks (DOS style).
YAML_CRLN_BREAK = 3, YAML_CRLN_BREAK = 3,
} }
/// Many bad things could happen with the parser and emitter. /// Many bad things could happen with the parser and emitter.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -75,6 +81,7 @@ pub enum yaml_error_type_t {
/// Cannot emit a YAML stream. /// Cannot emit a YAML stream.
YAML_EMITTER_ERROR = 7, YAML_EMITTER_ERROR = 7,
} }
/// The pointer position. /// The pointer position.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -87,6 +94,7 @@ pub struct yaml_mark_t {
/// The position column. /// The position column.
pub column: size_t, pub column: size_t,
} }
/// Scalar styles. /// Scalar styles.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -105,6 +113,7 @@ pub enum yaml_scalar_style_t {
/// The folded scalar style. /// The folded scalar style.
YAML_FOLDED_SCALAR_STYLE = 5, YAML_FOLDED_SCALAR_STYLE = 5,
} }
/// Sequence styles. /// Sequence styles.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -117,6 +126,7 @@ pub enum yaml_sequence_style_t {
/// The flow sequence style. /// The flow sequence style.
YAML_FLOW_SEQUENCE_STYLE = 2, YAML_FLOW_SEQUENCE_STYLE = 2,
} }
/// Mapping styles. /// Mapping styles.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -129,6 +139,7 @@ pub enum yaml_mapping_style_t {
/// The flow mapping style. /// The flow mapping style.
YAML_FLOW_MAPPING_STYLE = 2, YAML_FLOW_MAPPING_STYLE = 2,
} }
/// Token types. /// Token types.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -179,6 +190,7 @@ pub enum yaml_token_type_t {
/// A SCALAR token. /// A SCALAR token.
YAML_SCALAR_TOKEN = 21, YAML_SCALAR_TOKEN = 21,
} }
/// The token structure. /// The token structure.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -193,6 +205,7 @@ pub struct yaml_token_t {
/// The end of the token. /// The end of the token.
pub end_mark: yaml_mark_t, pub end_mark: yaml_mark_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub union unnamed_yaml_token_t_data { pub union unnamed_yaml_token_t_data {
@ -211,6 +224,7 @@ pub union unnamed_yaml_token_t_data {
/// The tag directive (for YAML_TAG_DIRECTIVE_TOKEN). /// The tag directive (for YAML_TAG_DIRECTIVE_TOKEN).
pub tag_directive: unnamed_yaml_token_t_data_tag_directive, pub tag_directive: unnamed_yaml_token_t_data_tag_directive,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -218,6 +232,7 @@ pub struct unnamed_yaml_token_t_data_stream_start {
/// The stream encoding. /// The stream encoding.
pub encoding: yaml_encoding_t, pub encoding: yaml_encoding_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -225,6 +240,7 @@ pub struct unnamed_yaml_token_t_data_alias {
/// The alias value. /// The alias value.
pub value: *mut yaml_char_t, pub value: *mut yaml_char_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -232,6 +248,7 @@ pub struct unnamed_yaml_token_t_data_anchor {
/// The anchor value. /// The anchor value.
pub value: *mut yaml_char_t, pub value: *mut yaml_char_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -241,6 +258,7 @@ pub struct unnamed_yaml_token_t_data_tag {
/// The tag suffix. /// The tag suffix.
pub suffix: *mut yaml_char_t, pub suffix: *mut yaml_char_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -252,6 +270,7 @@ pub struct unnamed_yaml_token_t_data_scalar {
/// The scalar style. /// The scalar style.
pub style: yaml_scalar_style_t, pub style: yaml_scalar_style_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -261,6 +280,7 @@ pub struct unnamed_yaml_token_t_data_version_directive {
/// The minor version number. /// The minor version number.
pub minor: libc::c_int, pub minor: libc::c_int,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -270,6 +290,7 @@ pub struct unnamed_yaml_token_t_data_tag_directive {
/// The tag prefix. /// The tag prefix.
pub prefix: *mut yaml_char_t, pub prefix: *mut yaml_char_t,
} }
/// Event types. /// Event types.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -298,6 +319,7 @@ pub enum yaml_event_type_t {
/// A MAPPING-END event. /// A MAPPING-END event.
YAML_MAPPING_END_EVENT = 10, YAML_MAPPING_END_EVENT = 10,
} }
/// The event structure. /// The event structure.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -312,6 +334,7 @@ pub struct yaml_event_t {
/// The end of the event. /// The end of the event.
pub end_mark: yaml_mark_t, pub end_mark: yaml_mark_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub union unnamed_yaml_event_t_data { pub union unnamed_yaml_event_t_data {
@ -330,6 +353,7 @@ pub union unnamed_yaml_event_t_data {
/// The mapping parameters (for YAML_MAPPING_START_EVENT). /// The mapping parameters (for YAML_MAPPING_START_EVENT).
pub mapping_start: unnamed_yaml_event_t_data_mapping_start, pub mapping_start: unnamed_yaml_event_t_data_mapping_start,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -337,6 +361,7 @@ pub struct unnamed_yaml_event_t_data_stream_start {
/// The document encoding. /// The document encoding.
pub encoding: yaml_encoding_t, pub encoding: yaml_encoding_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -348,6 +373,7 @@ pub struct unnamed_yaml_event_t_data_document_start {
/// Is the document indicator implicit? /// Is the document indicator implicit?
pub implicit: libc::c_int, pub implicit: libc::c_int,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -357,6 +383,7 @@ pub struct unnamed_yaml_event_t_data_document_start_tag_directives {
/// The end of the tag directives list. /// The end of the tag directives list.
pub end: *mut yaml_tag_directive_t, pub end: *mut yaml_tag_directive_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -364,6 +391,7 @@ pub struct unnamed_yaml_event_t_data_document_end {
/// Is the document end indicator implicit? /// Is the document end indicator implicit?
pub implicit: libc::c_int, pub implicit: libc::c_int,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -371,6 +399,7 @@ pub struct unnamed_yaml_event_t_data_alias {
/// The anchor. /// The anchor.
pub anchor: *mut yaml_char_t, pub anchor: *mut yaml_char_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -390,6 +419,7 @@ pub struct unnamed_yaml_event_t_data_scalar {
/// The scalar style. /// The scalar style.
pub style: yaml_scalar_style_t, pub style: yaml_scalar_style_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -403,6 +433,7 @@ pub struct unnamed_yaml_event_t_data_sequence_start {
/// The sequence style. /// The sequence style.
pub style: yaml_sequence_style_t, pub style: yaml_sequence_style_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -416,6 +447,7 @@ pub struct unnamed_yaml_event_t_data_mapping_start {
/// The mapping style. /// The mapping style.
pub style: yaml_mapping_style_t, pub style: yaml_mapping_style_t,
} }
/// Node types. /// Node types.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -430,6 +462,7 @@ pub enum yaml_node_type_t {
/// A mapping node. /// A mapping node.
YAML_MAPPING_NODE = 3, YAML_MAPPING_NODE = 3,
} }
/// The node structure. /// The node structure.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -446,6 +479,7 @@ pub struct yaml_node_t {
/// The end of the node. /// The end of the node.
pub end_mark: yaml_mark_t, pub end_mark: yaml_mark_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub union unnamed_yaml_node_t_data { pub union unnamed_yaml_node_t_data {
@ -456,6 +490,7 @@ pub union unnamed_yaml_node_t_data {
/// The mapping parameters (for YAML_MAPPING_NODE). /// The mapping parameters (for YAML_MAPPING_NODE).
pub mapping: unnamed_yaml_node_t_data_mapping, pub mapping: unnamed_yaml_node_t_data_mapping,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -467,8 +502,10 @@ pub struct unnamed_yaml_node_t_data_scalar {
/// The scalar style. /// The scalar style.
pub style: yaml_scalar_style_t, pub style: yaml_scalar_style_t,
} }
/// An element of a sequence node. /// An element of a sequence node.
pub type yaml_node_item_t = libc::c_int; pub type yaml_node_item_t = libc::c_int;
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -478,6 +515,7 @@ pub struct unnamed_yaml_node_t_data_sequence {
/// The sequence style. /// The sequence style.
pub style: yaml_sequence_style_t, pub style: yaml_sequence_style_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -489,6 +527,7 @@ pub struct unnamed_yaml_node_t_data_sequence_items {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_node_item_t, pub top: *mut yaml_node_item_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -498,6 +537,7 @@ pub struct unnamed_yaml_node_t_data_mapping {
/// The mapping style. /// The mapping style.
pub style: yaml_mapping_style_t, pub style: yaml_mapping_style_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -509,6 +549,7 @@ pub struct unnamed_yaml_node_t_data_mapping_pairs {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_node_pair_t, pub top: *mut yaml_node_pair_t,
} }
/// An element of a mapping node. /// An element of a mapping node.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -519,6 +560,7 @@ pub struct yaml_node_pair_t {
/// The value of the element. /// The value of the element.
pub value: libc::c_int, pub value: libc::c_int,
} }
/// The document structure. /// The document structure.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -539,6 +581,7 @@ pub struct yaml_document_t {
/// The end of the document. /// The end of the document.
pub end_mark: yaml_mark_t, pub end_mark: yaml_mark_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -550,6 +593,7 @@ pub struct unnamed_yaml_document_t_nodes {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_node_t, pub top: *mut yaml_node_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -559,6 +603,7 @@ pub struct unnamed_yaml_document_t_tag_directives {
/// The end of the tag directives list. /// The end of the tag directives list.
pub end: *mut yaml_tag_directive_t, pub end: *mut yaml_tag_directive_t,
} }
/// The prototype of a read handler. /// The prototype of a read handler.
/// ///
/// The read handler is called when the parser needs to read more bytes from the /// The read handler is called when the parser needs to read more bytes from the
@ -574,6 +619,7 @@ pub type yaml_read_handler_t = unsafe fn(
size: size_t, size: size_t,
size_read: *mut size_t, size_read: *mut size_t,
) -> libc::c_int; ) -> libc::c_int;
/// This structure holds information about a potential simple key. /// This structure holds information about a potential simple key.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -588,6 +634,7 @@ pub struct yaml_simple_key_t {
/// The position mark. /// The position mark.
pub mark: yaml_mark_t, pub mark: yaml_mark_t,
} }
/// The states of the parser. /// The states of the parser.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -642,6 +689,7 @@ pub enum yaml_parser_state_t {
/// Expect nothing. /// Expect nothing.
YAML_PARSE_END_STATE = 23, YAML_PARSE_END_STATE = 23,
} }
/// This structure holds aliases data. /// This structure holds aliases data.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
@ -654,6 +702,7 @@ pub struct yaml_alias_data_t {
/// The anchor mark. /// The anchor mark.
pub mark: yaml_mark_t, pub mark: yaml_mark_t,
} }
/// The parser structure. /// The parser structure.
/// ///
/// All members are internal. Manage the structure using the `yaml_parser_` /// All members are internal. Manage the structure using the `yaml_parser_`
@ -731,12 +780,14 @@ pub struct yaml_parser_t {
/// The currently parsed document. /// The currently parsed document.
pub(crate) document: *mut yaml_document_t, pub(crate) document: *mut yaml_document_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub(crate) union unnamed_yaml_parser_t_input { pub(crate) union unnamed_yaml_parser_t_input {
/// String input data. /// String input data.
pub string: unnamed_yaml_parser_t_input_string, pub string: unnamed_yaml_parser_t_input_string,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -748,6 +799,7 @@ pub(crate) struct unnamed_yaml_parser_t_input_string {
/// The string current position. /// The string current position.
pub current: *const libc::c_uchar, pub current: *const libc::c_uchar,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -761,6 +813,7 @@ pub(crate) struct unnamed_yaml_parser_t_buffer {
/// The last filled position of the buffer. /// The last filled position of the buffer.
pub last: *mut yaml_char_t, pub last: *mut yaml_char_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -774,6 +827,7 @@ pub(crate) struct unnamed_yaml_parser_t_raw_buffer {
/// The last filled position of the buffer. /// The last filled position of the buffer.
pub last: *mut libc::c_uchar, pub last: *mut libc::c_uchar,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -787,6 +841,7 @@ pub(crate) struct unnamed_yaml_parser_t_tokens {
/// The tail of the tokens queue. /// The tail of the tokens queue.
pub tail: *mut yaml_token_t, pub tail: *mut yaml_token_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -798,6 +853,7 @@ pub(crate) struct unnamed_yaml_parser_t_indents {
/// The top of the stack. /// The top of the stack.
pub top: *mut libc::c_int, pub top: *mut libc::c_int,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -809,6 +865,7 @@ pub(crate) struct unnamed_yaml_parser_t_simple_keys {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_simple_key_t, pub top: *mut yaml_simple_key_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -820,6 +877,7 @@ pub(crate) struct unnamed_yaml_parser_t_states {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_parser_state_t, pub top: *mut yaml_parser_state_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -831,6 +889,7 @@ pub(crate) struct unnamed_yaml_parser_t_marks {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_mark_t, pub top: *mut yaml_mark_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -842,6 +901,7 @@ pub(crate) struct unnamed_yaml_parser_t_tag_directives {
/// The top of the list. /// The top of the list.
pub top: *mut yaml_tag_directive_t, pub top: *mut yaml_tag_directive_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -853,6 +913,7 @@ pub(crate) struct unnamed_yaml_parser_t_aliases {
/// The top of the list. /// The top of the list.
pub top: *mut yaml_alias_data_t, pub top: *mut yaml_alias_data_t,
} }
/// The prototype of a write handler. /// The prototype of a write handler.
/// ///
/// The write handler is called when the emitter needs to flush the accumulated /// The write handler is called when the emitter needs to flush the accumulated
@ -863,6 +924,7 @@ pub(crate) struct unnamed_yaml_parser_t_aliases {
/// value should be 0. /// value should be 0.
pub type yaml_write_handler_t = pub type yaml_write_handler_t =
unsafe fn(data: *mut libc::c_void, buffer: *mut libc::c_uchar, size: size_t) -> libc::c_int; unsafe fn(data: *mut libc::c_void, buffer: *mut libc::c_uchar, size: size_t) -> libc::c_int;
/// The emitter states. /// The emitter states.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(u32)] #[repr(u32)]
@ -905,6 +967,7 @@ pub enum yaml_emitter_state_t {
/// Expect nothing. /// Expect nothing.
YAML_EMIT_END_STATE = 17, YAML_EMIT_END_STATE = 17,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -916,6 +979,7 @@ pub(crate) struct yaml_anchors_t {
/// If the node has been emitted? /// If the node has been emitted?
pub serialized: libc::c_int, pub serialized: libc::c_int,
} }
/// The emitter structure. /// The emitter structure.
/// ///
/// All members are internal. Manage the structure using the `yaml_emitter_` /// All members are internal. Manage the structure using the `yaml_emitter_`
@ -1001,12 +1065,14 @@ pub struct yaml_emitter_t {
/// The currently emitted document. /// The currently emitted document.
pub(crate) document: *mut yaml_document_t, pub(crate) document: *mut yaml_document_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub(crate) union unnamed_yaml_emitter_t_output { pub(crate) union unnamed_yaml_emitter_t_output {
/// String output data. /// String output data.
pub string: unnamed_yaml_emitter_t_output_string, pub string: unnamed_yaml_emitter_t_output_string,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1018,6 +1084,7 @@ pub(crate) struct unnamed_yaml_emitter_t_output_string {
/// The number of written bytes. /// The number of written bytes.
pub size_written: *mut size_t, pub size_written: *mut size_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1031,6 +1098,7 @@ pub(crate) struct unnamed_yaml_emitter_t_buffer {
/// The last filled position of the buffer. /// The last filled position of the buffer.
pub last: *mut yaml_char_t, pub last: *mut yaml_char_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1044,6 +1112,7 @@ pub(crate) struct unnamed_yaml_emitter_t_raw_buffer {
/// The last filled position of the buffer. /// The last filled position of the buffer.
pub last: *mut libc::c_uchar, pub last: *mut libc::c_uchar,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1055,6 +1124,7 @@ pub(crate) struct unnamed_yaml_emitter_t_states {
/// The top of the stack. /// The top of the stack.
pub top: *mut yaml_emitter_state_t, pub top: *mut yaml_emitter_state_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1068,6 +1138,7 @@ pub(crate) struct unnamed_yaml_emitter_t_events {
/// The tail of the event queue. /// The tail of the event queue.
pub tail: *mut yaml_event_t, pub tail: *mut yaml_event_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1079,6 +1150,7 @@ pub(crate) struct unnamed_yaml_emitter_t_indents {
/// The top of the stack. /// The top of the stack.
pub top: *mut libc::c_int, pub top: *mut libc::c_int,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1090,6 +1162,7 @@ pub(crate) struct unnamed_yaml_emitter_t_tag_directives {
/// The top of the list. /// The top of the list.
pub top: *mut yaml_tag_directive_t, pub top: *mut yaml_tag_directive_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1101,6 +1174,7 @@ pub(crate) struct unnamed_yaml_emitter_t_anchor_data {
/// Is it an alias? /// Is it an alias?
pub alias: libc::c_int, pub alias: libc::c_int,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1114,6 +1188,7 @@ pub(crate) struct unnamed_yaml_emitter_t_tag_data {
/// The tag suffix length. /// The tag suffix length.
pub suffix_length: size_t, pub suffix_length: size_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]
@ -1135,6 +1210,7 @@ pub(crate) struct unnamed_yaml_emitter_t_scalar_data {
/// The output style. /// The output style.
pub style: yaml_scalar_style_t, pub style: yaml_scalar_style_t,
} }
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
#[non_exhaustive] #[non_exhaustive]