Improve member name
This commit is contained in:
parent
f9220ed14f
commit
e2750b105e
|
@ -1,14 +1,14 @@
|
|||
use super::{helper::{force_convert_ascii_to_str}, lsb_msb::{EndianFamilyTypes, ReadWriteEndian, LittleEndianFamily, BigEndianFamily}};
|
||||
|
||||
pub type PathTableL = PathTableBase<LittleEndianFamily>;
|
||||
pub type PathTableM = PathTableBase<BigEndianFamily>;
|
||||
pub type PathTableB = PathTableBase<BigEndianFamily>;
|
||||
|
||||
#[repr(packed(1))]
|
||||
pub struct PathTableBase<EndianFamily: EndianFamilyTypes> {
|
||||
pub name_length: [u8; 1],
|
||||
pub extended_attribute_length: [u8; 1],
|
||||
pub directory_logical_block: EndianFamily::U32,
|
||||
pub parent_logical_block: EndianFamily::U16,
|
||||
pub parent_table_id: EndianFamily::U16,
|
||||
//name: DString<name_length>
|
||||
//padding: only if name_length is odd
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ impl<EndianFamily: EndianFamilyTypes> PathTableBase<EndianFamily> {
|
|||
name_length: [name.len() as u8],
|
||||
extended_attribute_length: [0],
|
||||
directory_logical_block: EndianFamily::U32::default(),
|
||||
parent_logical_block: EndianFamily::U16::default(),
|
||||
parent_table_id: EndianFamily::U16::default(),
|
||||
};
|
||||
|
||||
self.set_name(name);
|
||||
|
@ -65,7 +65,7 @@ impl<EndianFamily: EndianFamilyTypes> PathTableBase<EndianFamily> {
|
|||
impl<EndianFamily: EndianFamilyTypes> std::fmt::Display for PathTableBase<EndianFamily> {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
let (dir_block, parent_block) = unsafe {
|
||||
(std::ptr::addr_of!(self.directory_logical_block).read_unaligned().read(), std::ptr::addr_of!(self.parent_logical_block).read_unaligned().read())
|
||||
(std::ptr::addr_of!(self.directory_logical_block).read_unaligned().read(), std::ptr::addr_of!(self.parent_table_id).read_unaligned().read())
|
||||
};
|
||||
|
||||
write!(f, "\"{}\" @{} ^{}", self.get_name(), dir_block, parent_block)
|
||||
|
|
|
@ -12,7 +12,7 @@ use cdtypes::{
|
|||
dir_record::DirectoryRecord,
|
||||
helper::sector_count_mode2_form1,
|
||||
lsb_msb::*,
|
||||
path_table::{PathTableL, PathTableM},
|
||||
path_table::{PathTableL, PathTableB},
|
||||
sector::{AudioSample, Mode2Form1},
|
||||
}
|
||||
};
|
||||
|
@ -401,7 +401,7 @@ fn write_path_tables(arranged_root_dir: &DirectoryDataType, sectors: &mut Vec<In
|
|||
};
|
||||
|
||||
path_entry.directory_logical_block.write(lba as u32);
|
||||
path_entry.parent_logical_block.write(parent_table_id as u16);
|
||||
path_entry.parent_table_id.write(parent_table_id as u16);
|
||||
raw_buffer.1 += entry_size;
|
||||
|
||||
Ok(())
|
||||
|
@ -438,10 +438,10 @@ fn write_path_tables(arranged_root_dir: &DirectoryDataType, sectors: &mut Vec<In
|
|||
let mut idx = 0;
|
||||
while idx < data_l.len() {
|
||||
let org_value = unsafe {std::mem::transmute::<&u8, &PathTableL>(&data_l[idx])};
|
||||
let new_value = unsafe {std::mem::transmute::<&mut u8, &mut PathTableM>(&mut data_l[idx])};
|
||||
let new_value = unsafe {std::mem::transmute::<&mut u8, &mut PathTableB>(&mut data_l[idx])};
|
||||
|
||||
new_value.directory_logical_block.write(org_value.directory_logical_block.read());
|
||||
new_value.parent_logical_block.write(org_value.parent_logical_block.read());
|
||||
new_value.parent_table_id.write(org_value.parent_table_id.read());
|
||||
|
||||
idx += new_value.get_size();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue