]> git.refcnt.org Git - colorize.git/commitdiff
Enhance message if attribute is invalid
authorSteven Schubiger <stsc@refcnt.org>
Tue, 1 Aug 2017 19:55:21 +0000 (21:55 +0200)
committerSteven Schubiger <stsc@refcnt.org>
Tue, 1 Aug 2017 19:55:21 +0000 (21:55 +0200)
colorize.c
t/fail.t

index 2d6bfea5bb68718f7677601424a5f4f1f1569f3c..1e27fcae01878ea6f41c90adac3c52aa7138317b 100644 (file)
@@ -468,7 +468,14 @@ process_opt_attr (const char *p)
                   }
               }
             if (!valid_attr)
                   }
               }
             if (!valid_attr)
-              vfprintf_fail (formats[FMT_GENERIC], "--attr switch must be provided valid attribute names");
+              {
+                char *sep;
+                char *attr_invalid = xstrdup (s);
+                STACK_VAR (attr_invalid);
+                if ((sep = strchr (attr_invalid, ',')))
+                  *sep = '\0';
+                vfprintf_fail ("--attr switch attribute '%s' is not valid", attr_invalid);
+              }
           }
         if (*p)
           p++;
           }
         if (*p)
           p++;
index daf1867a6dbc277d28367e53184e6ae7b0565964..e2d71beb121c1fa58acad76208097c6d906fb02a 100755 (executable)
--- a/t/fail.t
+++ b/t/fail.t
@@ -12,7 +12,7 @@ use IPC::Open3 qw(open3);
 use Symbol qw(gensym);
 use Test::More;
 
 use Symbol qw(gensym);
 use Test::More;
 
-my $tests = 24;
+my $tests = 25;
 
 my $run_program_fail = sub
 {
 
 my $run_program_fail = sub
 {
@@ -42,7 +42,8 @@ SKIP: {
     my @set = (
         [ '--attr=:',                'must be provided a string'                   ],
         [ '--attr=bold:underscore',  'must have strings separated by ,'            ],
     my @set = (
         [ '--attr=:',                'must be provided a string'                   ],
         [ '--attr=bold:underscore',  'must have strings separated by ,'            ],
-        [ '--attr=b0ld',             'must be provided valid attribute names'      ],
+        [ '--attr=b0ld',             'attribute \'b0ld\' is not valid'             ],
+        [ '--attr=b0ld,underscore',  'attribute \'b0ld\' is not valid'             ], # NULify comma
         [ '--attr=bold,bold',        'has attribute \'bold\' twice or more'        ],
         [ '--exclude-random=random', 'must be provided a plain color'              ],
         [ '--clean --clean-all',     'mutually exclusive'                          ],
         [ '--attr=bold,bold',        'has attribute \'bold\' twice or more'        ],
         [ '--exclude-random=random', 'must be provided a plain color'              ],
         [ '--clean --clean-all',     'mutually exclusive'                          ],