scroll

scrollbackbuffer program for st
git clone git://git.suckless.org/scroll
Log | Files | Refs | README

commit 68e4cf9bea15e2ac33224f8b96d7f5ff58ac6e77
parent 3cf57de2bdf4311ebc7e8348ead2bca7cadb3904
Author: Jochen Sprickerhof <git@jochen.sprickerhof.de>
Date:   Thu, 23 Apr 2020 22:26:28 +0200

Fix setting bottom pointer while scrolling

Diffstat:
Mscroll.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; }