use exitcode 3 for usage errors - json2tsv - JSON to TSV converter
 (HTM) git clone git://git.codemadness.org/json2tsv
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 65ee8e6903bc3c072a2e55fdd2501b0296fbdf59
 (DIR) parent 7c6507b10767029b3d4585e3e65d231f66fa904b
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sat, 25 Sep 2021 11:36:12 +0200
       
       use exitcode 3 for usage errors
       
       Diffstat:
         M json2tsv.1                          |       4 ++--
         M json2tsv.c                          |       8 ++++----
       
       2 files changed, 6 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/json2tsv.1 b/json2tsv.1
       @@ -95,8 +95,8 @@ s for string
        .El
        .Sh EXIT STATUS
        .Nm
       -exits with the exit status 0 on success, 1 on a parse error or 2 when
       -out of memory.
       +exits with the exit status 0 on success, 1 on a parse error, 2 when out of
       +memory or 3 with an usage error.
        .Sh EXAMPLES
        .Bd -literal
        json2tsv < input.json | awk -F '\\t' '$1 == ".url" { print $3 }'
 (DIR) diff --git a/json2tsv.c b/json2tsv.c
       @@ -113,7 +113,7 @@ readnum(const char *s, int base)
                l = strtol(s, &end, base);
                if (errno || s == end || *end != '\0' || l < 0 || l > 255) {
                        fprintf(stderr, "invalid number\n");
       -                exit(1);
       +                exit(3);
                }
        
                return (int)l;
       @@ -124,7 +124,7 @@ readchar(const char *s)
        {
                if (!*s) {
                        fprintf(stderr, "invalid character\n");
       -                exit(1);
       +                exit(3);
                } else if (strlen(s) == 1) {
                        return *s;
                } else if (*s == '\\') {
       @@ -137,7 +137,7 @@ readchar(const char *s)
                        case 'x': return readnum(++s, 16); /* hexadecimal */
                        default:
                                fprintf(stderr, "unsupported escape character\n");
       -                        exit(1);
       +                        exit(3);
                        }
                }
                /* base 0 (decimal, octal, hex) using strtol() format */
       @@ -148,7 +148,7 @@ void
        usage(const char *argv0)
        {
                fprintf(stderr, "usage: %s [-n] [-r] [-F fs] [-R rs]\n", argv0);
       -        exit(1);
       +        exit(3);
        }
        
        int