diff options
author | Omer Ben-Amram <omerbenamram@gmail.com> | 2019-05-23 18:04:09 +0300 |
---|---|---|
committer | Omer Ben-Amram <omerbenamram@gmail.com> | 2019-05-23 18:04:09 +0300 |
commit | d6ecc8c874c08a968074089ddfb50ea0de7dd8c6 (patch) | |
tree | e91565d5d28765242d83d5acf299000d5273138f | |
parent | 14cdedee4d4d01ecdbfd29fcf19376d1646cb7cd (diff) |
remove unwraps @ohadravid
-rw-r--r-- | Cargo.toml | 3 | ||||
-rw-r--r-- | src/entry.rs | 22 |
2 files changed, 14 insertions, 11 deletions
@@ -7,7 +7,7 @@ license = "MIT/Apache-2.0" readme = "README.md" version = "0.1.2-alpha.0" -authors = ["Omer Ben-Amram <omerbenamram@gmail.com>", "matthew seyer <matthew.seyer@gmail.com>"] +authors = ["Omer Ben-Amram <omerbenamram@gmail.com>"] edition = "2018" [dependencies] @@ -18,7 +18,6 @@ byteorder = "1.3.1" bitflags = "1.0.4" serde = {version = "1.0.91", features = ["derive"]} serde_json = "1.0.39" -serde_with = "1.3.1" csv = "1.0.7" env_logger = "0.6.1" snafu = {version="0.3.1", features = ["backtraces", "rust_1_30"]} diff --git a/src/entry.rs b/src/entry.rs index 1ca9e2c..1ed3fec 100644 --- a/src/entry.rs +++ b/src/entry.rs @@ -231,20 +231,24 @@ impl MftEntry { return Some(Err(e.into())); } }; + let header = MftAttributeHeader::from_stream(&mut cursor); // Unexpected I/O error, return err and stop iterating - if let Err(e) = header { - exhausted = true; - return Some(Err(e)); - } - - let header = header.unwrap(); + let header = match header { + Ok(h) => h, + Err(e) => { + exhausted = true; + return Some(Err(e)); + } + }; - // Header is 0xFFFF_FFFF, we are finished - header.as_ref()?; + let header = match header { + Some(attribute_header) => attribute_header, + // Header is 0xFFFF_FFFF, we are finished + None => return None, + }; - let header = header.unwrap(); // Increment offset before moving header. offset += u64::from(header.record_length); |