use plain::Plain;
#[derive(Clone, Copy)]
#[repr(packed)]
pub struct Entry {
pub blake3: [u8; 32],
pub offset: u64,
pub size: u64,
pub mode: u32,
pub path: [u8; 256],
}
impl Entry {
pub fn path(&self) -> &[u8] {
let mut i = 0;
while i < self.path.len() {
if self.path[i] == 0 {
break;
}
i += 1;
}
&self.path[..i]
}
}
unsafe impl Plain for Entry {}