summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSharif Haason <ssh128@scarletmail.rutgers.edu>2023-06-20 10:55:07 -0400
committerSharif Haason <ssh128@scarletmail.rutgers.edu>2023-06-20 10:55:07 -0400
commitdfad7b3faf213eade4bf181017a322bae07e8c66 (patch)
treea4bd979f4458e68b972c2bdd37e54b02c14b773e /src
parentef9b530d6a06ec43a59b25351fd862af15e447d9 (diff)
Refactor to avoid code duplication
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs12
1 files 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