From 8495830d214f4677452867d0639c48eb8eb7bc46 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 12 Mar 2023 11:11:21 +0100 Subject: Merging upstream version 2.11.1. Signed-off-by: Daniel Baumann --- src/opt.c | 8 ++++++-- src/test/test1.sh | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/opt.c b/src/opt.c index 7a0f346..bd0bc52 100644 --- a/src/opt.c +++ b/src/opt.c @@ -240,7 +240,7 @@ static int perf_opt_long_parse(char* optarg) if ((arg = strchr(optarg, '='))) { arg++; - optlen = arg - optarg; + optlen = strlen(arg); if (optlen < 1) { return -1; } @@ -305,7 +305,11 @@ void perf_long_opt_usage(void) fprintf(stderr, "Usage: %s ... -O [=] ...\n\nAvailable long options:\n", progname); long_opt_t* opt = longopts; while (opt) { - fprintf(stderr, " %s%s: %s", opt->name, opt->type != perf_opt_boolean ? "=" : "", opt->help); + if (opt->type == perf_opt_boolean) { + fprintf(stderr, " %s: %s", opt->name, opt->help); + } else { + fprintf(stderr, " %s=<%s>: %s", opt->name, opt->desc ? opt->desc : "val", opt->help); + } if (opt->defval) { fprintf(stderr, " (default: %s)", opt->defval); } diff --git a/src/test/test1.sh b/src/test/test1.sh index cd6af3c..a289c99 100755 --- a/src/test/test1.sh +++ b/src/test/test1.sh @@ -7,3 +7,6 @@ ! ../dnsperf -O suppress= ! ../resperf -O suppress ! ../resperf -O suppress= + +# test for broken long opt in v2.11.0 +../dnsperf -O suppress=test 2>&1 |grep -q "unknown message type to suppress: test" -- cgit v1.2.3