mirror of
https://github.com/sharkdp/hexyl.git
synced 2026-10-30 09:05:54 +00:00
Fix incomplete line ending when squeezed
This commit is contained in:
1 parent
9d938b11ed
commit
c82695f0a9
1 file changed
+4
@@ -482,6 +482,8 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
leftover = Some(n);
|
leftover = Some(n);
|
||||||
break;
|
break;
|
||||||
} else if n == 0 {
|
} else if n == 0 {
|
||||||
|
self.line_buf.clear();
|
||||||
|
leftover = Some(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -490,6 +492,7 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
if self.squeezer == Squeezer::Delete && self.squeeze_byte == 0 {
|
if self.squeezer == Squeezer::Delete && self.squeeze_byte == 0 {
|
||||||
for w in self.line_buf.chunks_exact(std::mem::size_of::<usize>()) {
|
for w in self.line_buf.chunks_exact(std::mem::size_of::<usize>()) {
|
||||||
if usize::from_ne_bytes(w.try_into().unwrap()) != 0 {
|
if usize::from_ne_bytes(w.try_into().unwrap()) != 0 {
|
||||||
|
self.squeezer = Squeezer::Ignore;
|
||||||
all_zero = false;
|
all_zero = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -558,6 +561,7 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
} else if let Some(n) = leftover {
|
} else if let Some(n) = leftover {
|
||||||
// last line is incomplete
|
// last line is incomplete
|
||||||
self.print_position_panel()?;
|
self.print_position_panel()?;
|
||||||
|
self.squeezer = Squeezer::Ignore;
|
||||||
self.print_bytes()?;
|
self.print_bytes()?;
|
||||||
self.squeezer = Squeezer::Print;
|
self.squeezer = Squeezer::Print;
|
||||||
for i in n..8 * self.panels as usize {
|
for i in n..8 * self.panels as usize {
|
||||||
|
|||||||
Reference in new issue
Block a user