From 7c859ab6c3aa254776678647106f696ad1fbcba4 Mon Sep 17 00:00:00 2001 From: Bryan McShea Date: Tue, 23 Apr 2024 18:23:37 -0400 Subject: [PATCH] fix node names --- kernel/src/dev/fdt.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/src/dev/fdt.rs b/kernel/src/dev/fdt.rs index 89a1843..22901e8 100644 --- a/kernel/src/dev/fdt.rs +++ b/kernel/src/dev/fdt.rs @@ -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,