std::array uses length #define now

This commit is contained in:
Adam 2025-08-17 16:10:21 +01:00
parent 3ba2eadf3e
commit 0b418a728f

View File

@ -29,6 +29,7 @@ pub fn header(config: &Config, in_data: &[u8]) -> Result<String, HeaderGeneratio
// Header guard // Header guard
if config.language == Language::Cpp { if config.language == Language::Cpp {
// C++ style
write!( write!(
buf, buf,
"#if !defined({}){}", "#if !defined({}){}",
@ -36,6 +37,7 @@ pub fn header(config: &Config, in_data: &[u8]) -> Result<String, HeaderGeneratio
) )
.unwrap(); .unwrap();
} else { } else {
// C style
write!(buf, "#ifndef {}{}", config.guard_name, config.line_ending).unwrap(); write!(buf, "#ifndef {}{}", config.guard_name, config.line_ending).unwrap();
} }
write!(buf, "#define {}{}", config.guard_name, config.line_ending).unwrap(); write!(buf, "#define {}{}", config.guard_name, config.line_ending).unwrap();
@ -73,7 +75,7 @@ pub fn with_contents(
with_definition(config, in_data, buf)?; with_definition(config, in_data, buf)?;
write!(buf, "#else{}", config.line_ending).unwrap(); write!(buf, "#else{}", config.line_ending).unwrap();
with_includes(config, buf); with_includes(config, buf);
with_declaration(config, in_data, buf); with_declaration(config, buf);
} }
Ok(()) Ok(())
@ -171,7 +173,7 @@ pub fn with_definition(
buf, buf,
"{}{} = {};{}", "{}{} = {};{}",
modifiers, modifiers,
data_type_and_symbol(config, in_data), data_type_and_symbol(config),
match config.container_type { match config.container_type {
ContainerType::CArray(_) => with_array_initialiser(in_data), ContainerType::CArray(_) => with_array_initialiser(in_data),
ContainerType::StdArray(_) => with_array_initialiser(in_data), ContainerType::StdArray(_) => with_array_initialiser(in_data),
@ -184,14 +186,14 @@ pub fn with_definition(
Ok(()) Ok(())
} }
pub fn with_declaration(config: &Config, in_data: &[u8], buf: &mut String) { pub fn with_declaration(config: &Config, buf: &mut String) {
let modifiers = declaration_modifiers(config); let modifiers = declaration_modifiers(config);
write!( write!(
buf, buf,
"{}{};{}", "{}{};{}",
modifiers, modifiers,
data_type_and_symbol(config, in_data), data_type_and_symbol(config),
config.line_ending config.line_ending
) )
.unwrap(); .unwrap();
@ -246,7 +248,7 @@ pub fn length_symbol(config: &Config) -> String {
out_str out_str
} }
pub fn data_type_and_symbol(config: &Config, in_data: &[u8]) -> String { pub fn data_type_and_symbol(config: &Config) -> String {
let u8_type = match config.language { let u8_type = match config.language {
Language::C => "uint8_t", Language::C => "uint8_t",
Language::Cpp => "std::uint8_t", Language::Cpp => "std::uint8_t",
@ -275,7 +277,7 @@ pub fn data_type_and_symbol(config: &Config, in_data: &[u8]) -> String {
ByteType::U8 => u8_type, ByteType::U8 => u8_type,
ByteType::I8 => i8_type, ByteType::I8 => i8_type,
}, },
in_data.len(), length_sym,
config.symbol_name config.symbol_name
) )
} }