From: Steven Schubiger Date: Tue, 1 Aug 2017 19:55:21 +0000 (+0200) Subject: Enhance message if attribute is invalid X-Git-Tag: v0.62~5 X-Git-Url: http://git.refcnt.org/?p=colorize.git;a=commitdiff_plain;h=13b184a21e6ede64a9cf16f20dd774ea8cd45c4f Enhance message if attribute is invalid --- 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' ],