From dfad7b3faf213eade4bf181017a322bae07e8c66 Mon Sep 17 00:00:00 2001 From: Sharif Haason Date: Tue, 20 Jun 2023 10:55:07 -0400 Subject: [PATCH] Refactor to avoid code duplication --- src/lib.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 0e3fc1a..1c0c62e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -585,7 +585,7 @@ impl<'a, Writer: Write> Printer<'a, Writer> { } let mut leftover = n; // loop until input is ceased - break loop { + if let Some(s) = loop { if let Ok(n) = buf.read(&mut self.line_buf[leftover..]) { leftover += n; // there is no more input being read @@ -595,15 +595,11 @@ impl<'a, Writer: Write> Printer<'a, Writer> { } // amount read has exceeded line buffer if leftover >= 8 * self.panels as usize { - self.print_position_panel()?; - self.print_bytes()?; - if self.show_char_panel { - self.print_char_panel()?; - } - self.writer.write_all(b"\n")?; - leftover = 0; + break None; } } + } { + break Some(s); }; } else if n == 0 { // if no bytes are read, that indicates end of file