Fix setting bottom pointer while scrolling - scroll - scrollbackbuffer program … | |
git clone git://git.suckless.org/scroll | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 68e4cf9bea15e2ac33224f8b96d7f5ff58ac6e77 | |
parent 3cf57de2bdf4311ebc7e8348ead2bca7cadb3904 | |
Author: Jochen Sprickerhof <[email protected]> | |
Date: Thu, 23 Apr 2020 22:26:28 +0200 | |
Fix setting bottom pointer while scrolling | |
Diffstat: | |
M scroll.c | 9 +++++++-- | |
1 file changed, 7 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/scroll.c b/scroll.c | |
@@ -246,8 +246,6 @@ addline(char *buf, size_t size) | |
line->buf = earealloc(NULL, size); | |
memcpy(line->buf, buf, size); | |
- bottom = line; | |
- | |
TAILQ_INSERT_HEAD(&head, line, entries); | |
} | |
@@ -536,6 +534,13 @@ main(int argc, char *argv[]) | |
if (*c == '\n') { | |
addline(buf, pos); | |
+ /* only advance bottom if scroll is */ | |
+ /* at the end of the scroll back */ | |
+ if (bottom == NULL || | |
+ TAILQ_PREV(bottom, tailhead, | |
+ entries) == TAILQ_FIRST(&head)) | |
+ bottom = TAILQ_FIRST(&head); | |
+ | |
memset(buf, 0, size); | |
pos = 0; | |
} |