From 4df3713c9d9b8b9a8aae02f52a678158e0e1c4f8 Mon Sep 17 00:00:00 2001 From: Moritz Gmeiner Date: Sat, 2 Aug 2025 17:25:52 +0200 Subject: [PATCH] DirEntry: fixed bug with writing name --- fat-bits/src/dir.rs | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/fat-bits/src/dir.rs b/fat-bits/src/dir.rs index 104ba1b..85d1cc6 100644 --- a/fat-bits/src/dir.rs +++ b/fat-bits/src/dir.rs @@ -190,32 +190,7 @@ impl DirEntry { fn write(&self, mut writer: impl Write) -> std::io::Result<()> { let mut buf = [0; 32]; - // fill name with 0x20 - buf[..11].copy_from_slice(&[0x20; 11]); - - let mut name = self.name(); - - if name[0] == b'.' && self.is_hidden() { - name = &name[1..]; - } - - if let Some((idx, _)) = name - .iter() - .copied() - .enumerate() - .rev() - .find(|&(_n, u)| u == b'.') - { - let (stem, ext) = name.split_at(idx); - - buf[..8][..stem.len()].copy_from_slice(stem); - buf[8..][..ext.len()].copy_from_slice(ext); - - // (stem, Some(ext)) - } else { - // all stem, no ext - buf[..8][..name.len()].copy_from_slice(name); - } + buf[..11].copy_from_slice(self.name()); buf[11] = self.attr().bits();