tr: improving checking flags and allowed number of arguments - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit b93f0c750d9e76d5498724e64ea0e44bf500ab8f
 (DIR) parent ee7ff4fb9583a15b89c54002a5b0000c7fe38746
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Wed,  5 Nov 2025 19:04:39 +0100
       
       tr: improving checking flags and allowed number of arguments
       
       Diffstat:
         M tr.c                                |      10 +++++-----
       
       1 file changed, 5 insertions(+), 5 deletions(-)
       ---
 (DIR) diff --git a/tr.c b/tr.c
       @@ -191,15 +191,15 @@ main(int argc, char *argv[])
                        usage();
                } ARGEND
        
       -        if (!argc || argc > 2 || (argc == 1 && dflag == sflag))
       +        if (!argc || argc > 2 || (dflag == sflag && argc != 2) ||
       +            (dflag && argc != 1))
                        usage();
       +
                set1ranges = makeset(argv[0], &set1, &set1check);
       -        if (argc == 2)
       +        if (argc == 2) {
                        set2ranges = makeset(argv[1], &set2, &set2check);
       -
       -        if (!dflag || (argc == 2 && sflag)) {
                        /* sanity checks as we are translating */
       -                if (!sflag && !set2ranges && !set2check)
       +                if (!set2ranges && !set2check)
                                eprintf("cannot map to an empty set.\n");
                        if (set2check && set2check != islowerrune &&
                            set2check != isupperrune) {