diff options
author | Omer Ben-Amram <omerbenamram@gmail.com> | 2019-06-04 16:44:00 +0300 |
---|---|---|
committer | Omer Ben-Amram <omerbenamram@gmail.com> | 2019-06-04 16:44:00 +0300 |
commit | 9640cc7ed00f7d5881a1e83e3252c3f93792d093 (patch) | |
tree | 1fd77ce25a6d2cb9f9e03f04fd3ca550cdf7a666 | |
parent | b612c42b99fb8d61f562236dff8a08e35c773564 (diff) |
ignore zero entries in `mft_dump`
-rw-r--r-- | src/bin/mft_dump.rs | 6 | ||||
-rw-r--r-- | src/entry.rs | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/bin/mft_dump.rs b/src/bin/mft_dump.rs index 915abbe..e699f36 100644 --- a/src/bin/mft_dump.rs +++ b/src/bin/mft_dump.rs @@ -17,6 +17,7 @@ use std::io::Write; use std::path::{Path, PathBuf}; use std::process::exit; +use mft::entry::ZERO_HEADER; use std::fmt::Write as FmtWrite; use std::{fs, io, path}; @@ -206,7 +207,10 @@ impl MftDump { let entry = parser.get_entry(i); let entry = match entry { - Ok(entry) => entry, + Ok(entry) => match &entry.header.signature { + ZERO_HEADER => continue, + _ => entry, + }, Err(error) => { eprintln!("{}", error); diff --git a/src/entry.rs b/src/entry.rs index dade633..5935091 100644 --- a/src/entry.rs +++ b/src/entry.rs @@ -22,9 +22,9 @@ use std::io::{Cursor, Seek}; const SEQUENCE_NUMBER_STRIDE: usize = 512; -const ZERO_HEADER: &'static [u8; 4] = b"\x00\x00\x00\x00"; -const BAAD_HEADER: &'static [u8; 4] = b"BAAD"; -const FILE_HEADER: &'static [u8; 4] = b"FILE"; +pub const ZERO_HEADER: &'static [u8; 4] = b"\x00\x00\x00\x00"; +pub const BAAD_HEADER: &'static [u8; 4] = b"BAAD"; +pub const FILE_HEADER: &'static [u8; 4] = b"FILE"; #[derive(Debug, Clone)] pub struct MftEntry { |