show usage on invalid flags or any arguments - 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 f4ae5c240dbe7ca52eb9b7a7ab0a94a4fe3b6f06
 (DIR) parent e569792c8bc41e19f1702ae57bbfbebc9fc64bff
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sun, 29 Dec 2019 18:42:53 +0100
       
       show usage on invalid flags or any arguments
       
       Diffstat:
         M json2tsv.c                          |      12 ++++++++++--
       
       1 file changed, 10 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/json2tsv.c b/json2tsv.c
       @@ -66,6 +66,13 @@ processnode(struct json_node *nodes, size_t depth, const char *value)
                putchar('\n');
        }
        
       +void
       +usage(const char *argv0)
       +{
       +        fprintf(stderr, "usage: %s [-n] [-r]\n", argv0);
       +        exit(1);
       +}
       +
        int
        main(int argc, char *argv[])
        {
       @@ -77,12 +84,13 @@ main(int argc, char *argv[])
                }
        
                for (i = 1; i < argc; i++) {
       -                if (argv[i][0] != '-')
       -                        continue;
       +                if (argv[i][0] != '-' || argv[i][1] == '\0')
       +                        usage(argv[0]);
                        for (j = 1; argv[i][j]; j++) {
                                switch (argv[i][j]) {
                                case 'n': nflag = 1; break;
                                case 'r': rflag = 1; break;
       +                        default:  usage(argv[0]);   break;
                                }
                        }
                }