INNER CODE UNIT · Rust
parse_attrs
dontpanic92/OpenPAL3 · crosscom/ccidl-rs/src/lib.rs:578
fn parse_attrs(&mut self) -> Result<Attrs, String> {
self.expect_char('[')?;
let mut attrs = Attrs::new();
loop {
self.skip_ws();
if self.peek_char() == Some(']') {
self.pos += 1;
break;
}
let name = self.read_attr_name()?;
self.skip_ws();
let value = if self.peek_char() == Some('(') {
self.pos += 1;
let value = self.read_until(')')?.trim().to_string();
self.expect_char(')')?;
value
} else {