From 13b184a21e6ede64a9cf16f20dd774ea8cd45c4f Mon Sep 17 00:00:00 2001 From: Steven Schubiger Date: Tue, 1 Aug 2017 21:55:21 +0200 Subject: [PATCH] Enhance message if attribute is invalid --- colorize.c | 9 ++++++++- t/fail.t | 5 +++-- 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' ], -- 2.39.2