From 7f1b1d2382faf770ef8f400dfd70e3ae6ed12986 Mon Sep 17 00:00:00 2001 From: Nathan Vegdahl Date: Sun, 5 Jan 2020 22:53:47 +0900 Subject: [PATCH] Fixed silly bug in data tree parser. --- sub_crates/data_tree/src/lib.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/sub_crates/data_tree/src/lib.rs b/sub_crates/data_tree/src/lib.rs index b949abd..d7cf3a8 100644 --- a/sub_crates/data_tree/src/lib.rs +++ b/sub_crates/data_tree/src/lib.rs @@ -153,12 +153,17 @@ impl Parser { }); } EventParse::ReachedEnd => { - if self.inner_opens == 0 { - return Ok(Event::Done); - } else { - return Err(Error::UnclosedInnerNode( - self.total_bytes_processed + valid_count, - )); + // If we're at the end, make sure we're in a valid + // state and finish. Otherwise, let things keep + // going. + if self.eof { + if self.inner_opens == 0 { + return Ok(Event::Done); + } else { + return Err(Error::UnclosedInnerNode( + self.total_bytes_processed + valid_count, + )); + } } } EventParse::IncompleteData => {