]> git.refcnt.org Git - colorize.git/commitdiff
main(): warn for purposeless switches with --clean[-all]
authorSteven Schubiger <stsc@refcnt.org>
Tue, 12 May 2020 19:35:23 +0000 (21:35 +0200)
committerSteven Schubiger <stsc@refcnt.org>
Tue, 12 May 2020 19:35:23 +0000 (21:35 +0200)
colorize.c

index fc5bd90c3ebe78d79de99e3d1715ccc3cd9ca22d..147f13e2cbbaa550867da764026ab7a81e653d42 100644 (file)
@@ -218,7 +218,7 @@ static const struct {
 };
 
 static unsigned int opts_set;
-enum {
+enum opt_set {
     OPT_ATTR_SET = 0x01,
     OPT_EXCLUDE_RANDOM_SET = 0x02,
     OPT_OMIT_COLOR_EMPTY_SET = 0x04
@@ -420,6 +420,20 @@ main (int argc, char **argv)
             else if (clean_all)
               vfprintf_fail (format, "--clean-all", message);
           }
+        {
+          unsigned int i;
+          const struct option_set {
+              const char *option;
+              enum opt_set set;
+          } options[] = {
+              { "attr",             OPT_ATTR_SET             },
+              { "exclude-random",   OPT_EXCLUDE_RANDOM_SET   },
+              { "omit-color-empty", OPT_OMIT_COLOR_EMPTY_SET },
+          };
+          for (i = 0; i < COUNT_OF (options, struct option_set); i++)
+            if (opts_set & options[i].set)
+              vfprintf_diag ("--%s switch has no meaning with --clean%s", options[i].option, clean_all ? "-all" : "");
+        }
       }
     else
       {