fix node names

This commit is contained in:
Bryan McShea
2024-04-23 18:23:37 -04:00
parent b2b17b927a
commit 7c859ab6c3

View File

@@ -73,7 +73,7 @@ impl Debug for Prop {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_struct("Prop")
.field("name", &self.name)
.field("data_len", &self.data)
.field("data_len", &self.data.len())
.finish()
}
}
@@ -115,16 +115,18 @@ impl Iterator for NodeIter {
return None;
}
let name_start = self.pos;
let mut extra = 0;
'outer: loop {
let bytes = &self.pos[..4];
self.pos = &self.pos[4..];
for byte in bytes {
for (i, byte) in bytes.iter().enumerate() {
if *byte == 0 {
extra = 4 - i;
break 'outer;
}
}
}
let name = unsafe { transmute(&name_start[..name_start.len() - self.pos.len()]) };
let name = unsafe { transmute(&name_start[..name_start.len() - self.pos.len() - extra]) };
let node_start = self.pos;
let node_data = if let Some(prop) = (PropIter {
strings: self.strings,