specctra: some DSN files use 'PCB' instead of 'pcb'

This commit is contained in:
Alain Emilia Anna Zscheile 2024-09-28 00:07:35 +02:00
parent f414089521
commit c7a18dd4cc
1 changed files with 13 additions and 1 deletions

View File

@ -44,11 +44,23 @@ pub struct NetOut {
pub via: Vec<Via>,
}
#[derive(ReadDsn, WriteSes, Debug)]
#[derive(WriteSes, Debug)]
pub struct DsnFile {
pub pcb: Pcb,
}
impl<R: std::io::BufRead> ReadDsn<R> for DsnFile {
fn read_dsn(tokenizer: &mut ListTokenizer<R>) -> Result<Self, ParseError> {
let mut pcb_type_name = tokenizer.consume_token()?.expect_any_start()?;
if !pcb_type_name.eq_ignore_ascii_case("pcb") {
return Err(ParseError::ExpectedStartOfList("pcb"));
}
let pcb = tokenizer.read_value::<Pcb>()?;
tokenizer.consume_token()?.expect_end()?;
Ok(Self { pcb })
}
}
#[derive(ReadDsn, WriteSes, Debug)]
pub struct Pcb {
#[anon]