Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/RustyMft.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorforensicmatt <matthew.seyer@gmail.com>2017-06-23 22:39:16 +0300
committerforensicmatt <matthew.seyer@gmail.com>2017-06-23 22:39:16 +0300
commit6e9dc6991f57f2fd6cd8a3588b34c86ac76e8f40 (patch)
treef42f771b2561a843ef8f5634c969024eeb7e54e2
parentc4a9a22cd06f59ea5060481df99f5a7b09db8e26 (diff)
MftHandler initialization fix
-rw-r--r--src/mft.rs20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/mft.rs b/src/mft.rs
index 888f8fb..634a96a 100644
--- a/src/mft.rs
+++ b/src/mft.rs
@@ -18,10 +18,6 @@ pub struct MftHandler {
}
impl MftHandler{
pub fn new(filename: &str) -> Result<MftHandler,MftError> {
- let mut mft_handler: MftHandler = unsafe {
- mem::zeroed()
- };
-
let mut mft_fh = match File::open(filename) {
Ok(usn_fh) => usn_fh,
// Handle error here
@@ -29,19 +25,25 @@ impl MftHandler{
};
// get file size
- mft_handler._size = match mft_fh.seek(SeekFrom::End(0)){
+ let size = match mft_fh.seek(SeekFrom::End(0)){
Err(e) => panic!("Error: {}",e),
Ok(size) => size
};
- mft_handler.filehandle = BufReader::with_capacity(
+ let filehandle = BufReader::with_capacity(
4096,
mft_fh
);
- mft_handler.set_entry_size(1024);
-
- Ok(mft_handler)
+ Ok(
+ MftHandler {
+ filehandle: filehandle,
+ path_enumerator: PathEnumerator::new(),
+ _entry_size: 1024,
+ _offset: 0,
+ _size: size
+ }
+ )
}
pub fn set_entry_size(&mut self, entry_size: u32){