From 7fbfbf04e8e0be29d802bdee815c1f98882f235e Mon Sep 17 00:00:00 2001 From: Alex Kornitzer Date: Tue, 5 Jul 2022 20:20:16 +0100 Subject: [PATCH] fix: load unknown was not handled correctly in file reader --- src/file/mod.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/file/mod.rs b/src/file/mod.rs index 22fa7349..ff3c3588 100644 --- a/src/file/mod.rs +++ b/src/file/mod.rs @@ -88,6 +88,19 @@ impl Reader { }), _ => { if load_unknown { + if let Ok(parser) = EvtxParser::load(file) { + return Ok(Self { + parser: Parser::Evtx(parser), + }); + } else if let Ok(parser) = JsonParser::load(file) { + return Ok(Self { + parser: Parser::Json(parser), + }); + } else if let Ok(parser) = XmlParser::load(file) { + return Ok(Self { + parser: Parser::Xml(parser), + }); + } if skip_errors { cs_eyellowln!( "file type is not currently supported - {}", @@ -98,7 +111,7 @@ impl Reader { }) } else { anyhow::bail!( - "file type is not currently supported - {}, use --skip-errors to continue", + "file type is not currently supported - {}, use --skip-errors to continue...", file.display() ) } @@ -126,12 +139,14 @@ impl Reader { } if skip_errors { cs_eyellowln!("file type is not known - {}", file.display()); - Ok(Self { parser: Parser::Unknown, }) } else { - anyhow::bail!("file type is not known - {}", file.display()) + anyhow::bail!( + "file type is not known - {}, use --skip-errors to continue...", + file.display() + ) } } else { Ok(Self {