From b3d87687dd2c43afe6ed10ed657408ff82241953 Mon Sep 17 00:00:00 2001 From: Moritz Gmeiner Date: Sun, 27 Jul 2025 23:15:28 +0200 Subject: [PATCH] DirEntry: added more methods --- fat-bits/src/dir.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/fat-bits/src/dir.rs b/fat-bits/src/dir.rs index 98ff94c..bc8e7a4 100644 --- a/fat-bits/src/dir.rs +++ b/fat-bits/src/dir.rs @@ -192,10 +192,30 @@ impl DirEntry { self.is_dot() || self.is_dotdot() || self.attr.contains(Attr::Hidden) } + pub fn is_readonly(&self) -> bool { + self.attr.contains(Attr::ReadOnly) + } + pub fn name(&self) -> &[u8] { &self.name } + pub fn stem(&self) -> &[u8] { + &self.name()[..8] + } + + pub fn stem_str(&self) -> Option<&str> { + std::str::from_utf8(self.stem()).ok() + } + + pub fn extension(&self) -> &[u8] { + &self.name()[8..] + } + + pub fn extension_str(&self) -> Option<&str> { + std::str::from_utf8(self.extension()).ok() + } + pub fn name_string(&self) -> Option { if let Some(long_filename) = self.long_name() { return Some(long_filename.to_owned());