fix empty line option and behavior - lchat - A line oriented chat front end for ii.
 (HTM) git clone git://git.suckless.org/lchat
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit a6e5a69166f668898bfc0731b634322bb277fe5a
 (DIR) parent e00ac3d799536cee5a7facf4fd5b39109377193d
 (HTM) Author: Jan Klemkow <j.klemkow@wemelug.de>
       Date:   Sat,  7 Nov 2015 05:16:21 +0100
       
       fix empty line option and behavior
       
       Diffstat:
         M lchat.1                             |       4 ++--
         M lchat.c                             |      14 +++++++-------
       
       2 files changed, 9 insertions(+), 9 deletions(-)
       ---
 (DIR) diff --git a/lchat.1 b/lchat.1
       @@ -6,7 +6,7 @@
        .Nd line chat
        .Sh SYNOPSIS
        .Nm
       -.Op Fl nh
       +.Op Fl eh
        .Op Fl H Ar lines
        .Op Fl p Ar prompt
        .Op Fl t Ar title
       @@ -24,7 +24,7 @@ in the background to get output lines from
        
        The options are as follows:
        .Bl -tag -width Ds
       -.It Fl n
       +.It Fl e
        Allow to enter empty lines.
        .It Fl h
        Shows usage text.
 (DIR) diff --git a/lchat.c b/lchat.c
       @@ -57,7 +57,7 @@ line_output(struct slackline *sl, char *file)
        static void
        usage(void)
        {
       -        fprintf(stderr, "lchar [-nh] [-H lines] [-p prompt] [-t title] [-i in]"
       +        fprintf(stderr, "lchar [-eh] [-H lines] [-p prompt] [-t title] [-i in]"
                    " [-o out] [directory]\n");
                exit(EXIT_FAILURE);
        }
       @@ -72,7 +72,7 @@ main(int argc, char *argv[])
                int fd = STDIN_FILENO;
                int c;
                int ch;
       -        bool empty_line = true;
       +        bool empty_line = false;
                size_t history_len = 5;
                char *prompt = ">";
                size_t prompt_len = strlen(prompt);
       @@ -81,7 +81,7 @@ main(int argc, char *argv[])
                char *out_file = NULL;
                FILE *tail_fh;
        
       -        while ((ch = getopt(argc, argv, "H:i:no:p:t:h")) != -1) {
       +        while ((ch = getopt(argc, argv, "H:i:eo:p:t:h")) != -1) {
                        switch (ch) {
                        case 'H':
                                errno = 0;
       @@ -93,8 +93,8 @@ main(int argc, char *argv[])
                                if ((in_file = strdup(optarg)) == NULL)
                                        err(EXIT_FAILURE, "strdup");
                                break;
       -                case 'n':
       -                        empty_line = false;
       +                case 'e':
       +                        empty_line = true;
                                break;
                        case 'o':
                                if ((out_file = strdup(optarg)) == NULL)
       @@ -190,7 +190,7 @@ main(int argc, char *argv[])
                                c = getchar();
                                if (c == 13) {        /* return */
                                        if (sl->len == 0 && empty_line == false)
       -                                        continue;
       +                                        goto out;
                                        line_output(sl, in_file);
                                        sl_reset(sl);
                                }
       @@ -214,7 +214,7 @@ main(int argc, char *argv[])
                                        err(EXIT_FAILURE, "write");
                                putchar('\a');        /* ring the bell on external input */
                        }
       -
       + out:
                        /* show current input line */
                        fputs(prompt, stdout);
                        fputs(sl->buf, stdout);