Improve member name

This commit is contained in:
Jaby 2022-10-23 16:30:51 +02:00
parent f9220ed14f
commit e2750b105e
2 changed files with 8 additions and 8 deletions

View File

@ -1,14 +1,14 @@
use super::{helper::{force_convert_ascii_to_str}, lsb_msb::{EndianFamilyTypes, ReadWriteEndian, LittleEndianFamily, BigEndianFamily}}; use super::{helper::{force_convert_ascii_to_str}, lsb_msb::{EndianFamilyTypes, ReadWriteEndian, LittleEndianFamily, BigEndianFamily}};
pub type PathTableL = PathTableBase<LittleEndianFamily>; pub type PathTableL = PathTableBase<LittleEndianFamily>;
pub type PathTableM = PathTableBase<BigEndianFamily>; pub type PathTableB = PathTableBase<BigEndianFamily>;
#[repr(packed(1))] #[repr(packed(1))]
pub struct PathTableBase<EndianFamily: EndianFamilyTypes> { pub struct PathTableBase<EndianFamily: EndianFamilyTypes> {
pub name_length: [u8; 1], pub name_length: [u8; 1],
pub extended_attribute_length: [u8; 1], pub extended_attribute_length: [u8; 1],
pub directory_logical_block: EndianFamily::U32, pub directory_logical_block: EndianFamily::U32,
pub parent_logical_block: EndianFamily::U16, pub parent_table_id: EndianFamily::U16,
//name: DString<name_length> //name: DString<name_length>
//padding: only if name_length is odd //padding: only if name_length is odd
} }
@ -19,7 +19,7 @@ impl<EndianFamily: EndianFamilyTypes> PathTableBase<EndianFamily> {
name_length: [name.len() as u8], name_length: [name.len() as u8],
extended_attribute_length: [0], extended_attribute_length: [0],
directory_logical_block: EndianFamily::U32::default(), directory_logical_block: EndianFamily::U32::default(),
parent_logical_block: EndianFamily::U16::default(), parent_table_id: EndianFamily::U16::default(),
}; };
self.set_name(name); self.set_name(name);
@ -65,7 +65,7 @@ impl<EndianFamily: EndianFamilyTypes> PathTableBase<EndianFamily> {
impl<EndianFamily: EndianFamilyTypes> std::fmt::Display for PathTableBase<EndianFamily> { impl<EndianFamily: EndianFamilyTypes> std::fmt::Display for PathTableBase<EndianFamily> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let (dir_block, parent_block) = unsafe { 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) write!(f, "\"{}\" @{} ^{}", self.get_name(), dir_block, parent_block)

View File

@ -12,7 +12,7 @@ use cdtypes::{
dir_record::DirectoryRecord, dir_record::DirectoryRecord,
helper::sector_count_mode2_form1, helper::sector_count_mode2_form1,
lsb_msb::*, lsb_msb::*,
path_table::{PathTableL, PathTableM}, path_table::{PathTableL, PathTableB},
sector::{AudioSample, Mode2Form1}, 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.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; raw_buffer.1 += entry_size;
Ok(()) Ok(())
@ -438,10 +438,10 @@ fn write_path_tables(arranged_root_dir: &DirectoryDataType, sectors: &mut Vec<In
let mut idx = 0; let mut idx = 0;
while idx < data_l.len() { while idx < data_l.len() {
let org_value = unsafe {std::mem::transmute::<&u8, &PathTableL>(&data_l[idx])}; 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.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(); idx += new_value.get_size();
} }