From 1d6ddaa6c4fe3b09a7e3e5a2d0d1680e19712ca5 Mon Sep 17 00:00:00 2001 From: rascul Date: Wed, 22 Jun 2022 20:29:20 -0500 Subject: [PATCH] break chunks into lines before adding them --- src/client/mudlet.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/client/mudlet.rs b/src/client/mudlet.rs index e6d65ad..4ff492b 100644 --- a/src/client/mudlet.rs +++ b/src/client/mudlet.rs @@ -52,7 +52,7 @@ pub fn parse_log(raw: &Vec) -> Result { return Err("chunk size too small".into()); } - let (delta, size) = { + let (mut delta, size) = { if let Ok((delta, size)) = chunk32(&chunk) { (delta, size) } else { @@ -79,10 +79,13 @@ pub fn parse_log(raw: &Vec) -> Result { let text: String = String::from_utf8_lossy(&text_chunk).into(); let text: String = convert_escaped(&text)?; - let mut bm: Map = Map::new(); - bm.insert("delta".into(), delta.into()); - bm.insert("text".into(), text.into()); - chunks.push(bm); + for line in text.lines() { + let mut map: Map = Map::new(); + map.insert("delta".into(), delta.into()); + map.insert("text".into(), line.trim().into()); + chunks.push(map); + delta = 0; + } } Ok(chunks.into())