diff options
author | Sharif Haason <ssh128@scarletmail.rutgers.edu> | 2023-06-20 10:55:07 -0400 |
---|---|---|
committer | Sharif Haason <ssh128@scarletmail.rutgers.edu> | 2023-06-20 10:55:07 -0400 |
commit | dfad7b3faf213eade4bf181017a322bae07e8c66 (patch) | |
tree | a4bd979f4458e68b972c2bdd37e54b02c14b773e /src | |
parent | ef9b530d6a06ec43a59b25351fd862af15e447d9 (diff) |
Refactor to avoid code duplication
Diffstat (limited to 'src')
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -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 |