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

github.com/windirstat/mft.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmer Ben-Amram <omerbenamram@gmail.com>2019-06-04 16:44:00 +0300
committerOmer Ben-Amram <omerbenamram@gmail.com>2019-06-04 16:44:00 +0300
commit9640cc7ed00f7d5881a1e83e3252c3f93792d093 (patch)
tree1fd77ce25a6d2cb9f9e03f04fd3ca550cdf7a666
parentb612c42b99fb8d61f562236dff8a08e35c773564 (diff)
ignore zero entries in `mft_dump`
-rw-r--r--src/bin/mft_dump.rs6
-rw-r--r--src/entry.rs6
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 {