scroll

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

commit 91d126eabe33630163d15f9bb423ca95f95333f4
parent 6e7406cde8b517ecee582856ffbaaaea63e98661
Author: Jan Klemkow <j.klemkow@wemelug.de>
Date:   Tue, 14 Apr 2020 22:40:50 +0200

fix strncmp bug by using strcmp

if input is just a single ESC character, strncmp
just compares the first char of the constant string.

Diffstat:
Mscroll.c | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/scroll.c b/scroll.c @@ -506,18 +506,20 @@ main(int argc, char *argv[]) } out: if (pfd[1].revents & POLLIN) { - ssize_t n = read(mfd, input, sizeof input); + ssize_t n = read(mfd, input, sizeof(input)-1); if (n == -1 && errno != EINTR) die("read:"); if (n == 0) /* on exit of child we continue here */ continue; /* let signal handler catch SIGCHLD */ + input[n] = '\0'; + if (write(STDOUT_FILENO, input, n) == -1) die("write:"); /* don't save clear screen esc sequences in log */ - if (strncmp("\033[H\033[2J", input, n) == 0) + if (strcmp("\033[H\033[2J", input) == 0) continue; /* iterate over the input buffer */