fix die() on too fast scroll input - scroll - scrollbackbuffer program for st
 (HTM) git clone git://git.suckless.org/scroll
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 47f9a83aaf2304291c6b7b8812747f482f609902
 (DIR) parent 200c1a92277ddc3daf0cde1f4957090f5887b423
 (HTM) Author: Jan Klemkow <j.klemkow@wemelug.de>
       Date:   Mon, 20 Apr 2020 22:59:50 +0200
       
       fix die() on too fast scroll input
       
       Diffstat:
         M scroll.c                            |      11 +++++------
       
       1 file changed, 5 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/scroll.c b/scroll.c
       @@ -226,12 +226,11 @@ getcursorposition(int *x, int *y)
                if (write(STDOUT_FILENO, "\033[6n", 4) < 0)
                        die("requesting cursor position");
        
       -        if ((n = read(STDIN_FILENO, input, sizeof(input)-1)) < 0)
       -                die("reading cursor position");
       -        input[n] = '\0';
       -
       -        if (sscanf(input, "\033[%d;%dR", x, y) != 2)
       -                die("parsing cursor position: %s", input);
       +        do {
       +                if ((n = read(STDIN_FILENO, input, sizeof(input)-1)) < 0)
       +                        die("reading cursor position");
       +                input[n] = '\0';
       +        } while (sscanf(input, "\033[%d;%dR", x, y) != 2);
        
                if (x <= 0 || y <= 0)
                        die("invalid cursor position: x=%d y=%d", x, y);