aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Steven Schubiger <stsc@refcnt.org> 2017-08-01 21:55:21 +0200
committerGravatar Steven Schubiger <stsc@refcnt.org> 2017-08-01 21:55:21 +0200
commit13b184a21e6ede64a9cf16f20dd774ea8cd45c4f (patch)
tree2637e36f6a9b7df20623980171ee17ccde7fc7c5
parentc44419169f25ee8a0fddfb78ffe4cc6f240a1699 (diff)
downloadcolorize-13b184a21e6ede64a9cf16f20dd774ea8cd45c4f.tar.gz
colorize-13b184a21e6ede64a9cf16f20dd774ea8cd45c4f.tar.bz2
Enhance message if attribute is invalid
-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' ],