From b1a5fb96e7a9385fe421be9d4ab21a75ea11032f Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 23 Aug 2021 21:42:42 -0400 Subject: [PATCH] argpar-utils: tweak unknown option error message MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add the "While parsing argument #X" context, that is used when other errors are encountered. Before: Error: Unknown option `--hello` After: Error: While parsing argument #1 (`--hello`): Unknown option `--hello` Change-Id: Ifd84a1e8b1fe0456e09ff154cc515eaa2850a7e1 Signed-off-by: Simon Marchi Signed-off-by: Jérémie Galarneau --- src/common/argpar-utils/argpar-utils.c | 6 ++++-- tests/regression/tools/trigger/test_add_trigger_cli | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/common/argpar-utils/argpar-utils.c b/src/common/argpar-utils/argpar-utils.c index 1f1f38bcc..6f5548917 100644 --- a/src/common/argpar-utils/argpar-utils.c +++ b/src/common/argpar-utils/argpar-utils.c @@ -54,7 +54,7 @@ char *format_arg_error_v(const struct argpar_error *error, { case ARGPAR_ERROR_TYPE_MISSING_OPT_ARG: { - int orig_index = argpar_error_orig_index(error); + const int orig_index = argpar_error_orig_index(error); const char *arg = argv[orig_index]; ret = strutils_appendf(&str, @@ -92,10 +92,12 @@ char *format_arg_error_v(const struct argpar_error *error, } case ARGPAR_ERROR_TYPE_UNKNOWN_OPT: { + int orig_index = argpar_error_orig_index(error); const char *unknown_opt = argpar_error_unknown_opt_name(error); ret = strutils_appendf(&str, - "Unknown option `%s`", unknown_opt); + WHILE_PARSING_ARG_N_ARG_FMT "Unknown option `%s`", + orig_index + 1, argv[orig_index], unknown_opt); if (ret < 0) { goto end; diff --git a/tests/regression/tools/trigger/test_add_trigger_cli b/tests/regression/tools/trigger/test_add_trigger_cli index 49cff975a..ecf04dd46 100755 --- a/tests/regression/tools/trigger/test_add_trigger_cli +++ b/tests/regression/tools/trigger/test_add_trigger_cli @@ -409,7 +409,7 @@ test_success "--action snapshot-session with ctrl/data URIs" "notify-15"\ test_failure "no args" "Error: Missing --condition." test_failure "unknown option" \ - "Error: Unknown option \`--hello\`" \ + "Error: While parsing argument #1 (\`--hello\`): Unknown option \`--hello\`" \ --hello test_failure "missing --action" \ -- 2.34.1