From dd520811d2a05492f7ab7b2211ca7945e1f8e10a Mon Sep 17 00:00:00 2001 From: James Campos Date: Tue, 21 Apr 2020 01:17:20 -0700 Subject: overflow --- src/main.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 267f171..e232c40 100644 --- a/src/main.rs +++ b/src/main.rs @@ -124,15 +124,14 @@ impl Bk { ) -> Result { let (cols, rows) = terminal::size().unwrap(); let mut epub = Epub::new(path)?; - let toc = epub.get_toc(); let mut bk = Bk { chapter: Vec::new(), chapter_idx, + toc: epub.get_toc(), epub, pos, pad, cols, - toc, rows: rows as usize, }; bk.get_chapter(chapter_idx); @@ -203,7 +202,11 @@ impl Bk { | KeyCode::PageUp | KeyCode::Char('h') => { if self.pos > 0 { - self.pos -= self.rows; + if self.pos < self.rows { + self.pos = 0; + } else { + self.pos -= self.rows; + } } else if self.chapter_idx > 0 { self.get_chapter(self.chapter_idx - 1); self.pos = (self.chapter.len() / self.rows) * self.rows; -- cgit v1.2.3