diff options
author | Colin Finck <colin@reactos.org> | 2021-05-01 18:39:14 +0300 |
---|---|---|
committer | Colin Finck <colin@reactos.org> | 2021-05-01 18:39:14 +0300 |
commit | 9ff4d41d5a57c15f7f299f48ed8c2c75dd7d5fcc (patch) | |
tree | e93f88c912e1aafcf3c3b72e744cb92135413e2b /src/structured_values/file_name.rs | |
parent | 08f063df590c457860831e10c9106f56e492e3c5 (diff) |
Implement `NtfsString::read_from_fs` to simplify several functions.
Diffstat (limited to 'src/structured_values/file_name.rs')
-rw-r--r-- | src/structured_values/file_name.rs | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/structured_values/file_name.rs b/src/structured_values/file_name.rs index 7a2edf6..71b0fd8 100644 --- a/src/structured_values/file_name.rs +++ b/src/structured_values/file_name.rs @@ -7,7 +7,7 @@ use crate::error::{NtfsError, Result}; use crate::string::NtfsString; use crate::structured_values::NtfsFileAttributeFlags; use crate::time::NtfsTime; -use binread::io::{Read, Seek, SeekFrom}; +use binread::io::{Read, Seek}; use binread::{BinRead, BinReaderExt}; use core::mem; use enumn::N; @@ -126,18 +126,7 @@ impl NtfsFileName { where T: Read + Seek, { - let name_length = self.name_length(); - if buf.len() < name_length { - return Err(NtfsError::BufferTooSmall { - expected: name_length, - actual: buf.len(), - }); - } - - fs.seek(SeekFrom::Start(self.name_position))?; - fs.read_exact(&mut buf[..name_length])?; - - Ok(NtfsString(&buf[..name_length])) + NtfsString::read_from_fs(fs, self.name_position, self.name_length(), buf) } } |