remove debug code from ptty, add C flag to test closing of fd to scroll - 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 6e7406cde8b517ecee582856ffbaaaea63e98661
 (DIR) parent 8718290ad5b7f43ad577f5dbc1cf481228c311e5
 (HTM) Author: Jan Klemkow <j.klemkow@wemelug.de>
       Date:   Tue, 14 Apr 2020 22:24:39 +0200
       
       remove debug code from ptty, add C flag to test closing of fd to scroll
       
       Diffstat:
         M ptty.c                              |      15 ++++++++++-----
       
       1 file changed, 10 insertions(+), 5 deletions(-)
       ---
 (DIR) diff --git a/ptty.c b/ptty.c
       @@ -4,6 +4,7 @@
        #include <inttypes.h>
        #include <limits.h>
        #include <stdarg.h>
       +#include <stdbool.h>
        #include <stdio.h>
        #include <stdlib.h>
        #include <string.h>
       @@ -39,7 +40,7 @@ die(const char *fmt, ...)
        void
        usage(void)
        {
       -        fputs("ptty cmd\n", stderr);
       +        fputs("ptty [-C] [-c cols] [-r rows] cmd\n", stderr);
                exit(EXIT_FAILURE);
        }
        
       @@ -48,8 +49,9 @@ main(int argc, char *argv[])
        {
                struct winsize ws = {.ws_row = 25, .ws_col = 80, 0, 0};
                int ch;
       +        bool closeflag = false;
        
       -        while ((ch = getopt(argc, argv, "c:r:h")) != -1) {
       +        while ((ch = getopt(argc, argv, "c:r:Ch")) != -1) {
                        switch (ch) {
                        case 'c':        /* cols */
                                ws.ws_col = strtoimax(optarg, NULL, 10);
       @@ -61,6 +63,9 @@ main(int argc, char *argv[])
                                if (errno != 0)
                                        die("strtoimax: %s", optarg);
                                break;
       +                case 'C':
       +                        closeflag = true;
       +                        break;
                        case 'h':
                        default:
                                usage();
       @@ -87,11 +92,11 @@ main(int argc, char *argv[])
                if (fh == NULL)
                        die("fdopen");
        
       -        if (close(mfd) == -1)
       +        if (closeflag && close(mfd) == -1)
                        die("close:");
        
       -//        char buf[BUFSIZ];
       -//        while (fgets(buf, sizeof buf, fh) != NULL);
       +        char buf[BUFSIZ];
       +        while (fgets(buf, sizeof buf, fh) != NULL);
        
                int status;
                waitpid(pid, &status, 0);