summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-07-14 16:12:49 -0400
committerJakob Kaivo <jkk@ung.org>2020-07-14 16:12:49 -0400
commit527e45ab5cc919caea9bfee9af1cf3da83028420 (patch)
tree1a9f6779fde255ce0a27f643b61b49fba0876353
parentd47361f9a36058cd289cd9c8c616b1b26135136e (diff)
more reliable back-scrolling
-rw-r--r--more.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/more.c b/more.c
index fc653ab..cefc997 100644
--- a/more.c
+++ b/more.c
@@ -132,8 +132,12 @@ void scroll(struct morefile *mf, int count, int multiple)
size_t n = 0;
int by = count ? count * multiple : multiple;
- if ((by < 0) && ((-by) > mf->topline)) {
- mf->topline = 0;
+ if (by < 0) {
+ if ((-by) > mf->topline) {
+ mf->topline = 0;
+ } else {
+ mf->topline += by;
+ }
refresh(mf);
} else while (by-- > 0) {
mf->topline++;
@@ -522,7 +526,7 @@ int main(int argc, char *argv[])
openrawtty();
- global.lines -= 2;
+ global.lines--;
if (optind >= argc) {
more("-");