aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--colorize.c9
-rwxr-xr-xt/fail.t5
2 files changed, 11 insertions, 3 deletions
diff --git a/colorize.c b/colorize.c
index 2d6bfea..1e27fca 100644
--- a/colorize.c
+++ b/colorize.c
@@ -468,7 +468,14 @@ process_opt_attr (const char *p)
}
}
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++;
diff --git a/t/fail.t b/t/fail.t
index daf1867..e2d71be 100755
--- a/t/fail.t
+++ b/t/fail.t
@@ -12,7 +12,7 @@ use IPC::Open3 qw(open3);
use Symbol qw(gensym);
use Test::More;
-my $tests = 24;
+my $tests = 25;
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 ,' ],
- [ '--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' ],