diff options
author | Canop <cano.petrole@gmail.com> | 2020-08-06 21:08:51 +0200 |
---|---|---|
committer | Canop <cano.petrole@gmail.com> | 2020-08-06 21:08:51 +0200 |
commit | 21a6a182e9d7c6db2a67cbb07f952907f181010d (patch) | |
tree | ff7bcdd8a9a6d25cb4de63aa79b9283a63ec487b /src/hex | |
parent | b5ef92d0f52c983e7f25a82a8cdbed12b714baa0 (diff) |
:preview_image, :preview_binary, and :preview_text
Diffstat (limited to 'src/hex')
-rw-r--r-- | src/hex/hex_view.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/hex/hex_view.rs b/src/hex/hex_view.rs index d2decbf..19a6e88 100644 --- a/src/hex/hex_view.rs +++ b/src/hex/hex_view.rs @@ -70,15 +70,17 @@ impl HexView { start_line_idx: usize, line_count: usize, ) -> io::Result<Vec<HexLine>> { - // I'm not sure a memmap is the best solution here but at least it's easy let file = File::open(&self.path)?; + let mut lines = Vec::new(); + if self.len == 0 { + return Ok(lines); + } let mmap = unsafe { Mmap::map(&file)? }; let new_len = mmap.len(); if new_len != self.len { warn!("previewed file len changed from {} to {}", self.len, new_len); self.len = new_len; } - let mut lines = Vec::new(); let mut start_idx = 16 * start_line_idx; while start_idx < self.len { let line_len = 16.min(self.len - start_idx); |