From 3d6365989f57a96f12e02dc85b111beb7947ec73 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 4 Aug 2021 22:27:55 +0200 Subject: Fix argv index error in 'unknown option' message. It looks like ya_getopt increments `optind` between reading the argument and returning. Before: ``` $ ./build/GCC-8.3/bin/inspircd --foo bar Error: unknown option 'bar'. $ ./build/GCC-8.3/bin/inspircd --help Error: unknown option '% ``` After: ``` $ ./build/GCC-8.3/bin/inspircd --foo bar Error: unknown option '--foo'. Usage: ./build/GCC-8.3/bin/inspircd [--config ] [--debug] [--nofork] [--nolog] [--nopid] [--runasroot] [--version] $ ./build/GCC-8.3/bin/inspircd --help Error: unknown option '--help'. Usage: ./build/GCC-8.3/bin/inspircd [--config ] [--debug] [--nofork] [--nolog] [--nopid] [--runasroot] [--version] ``` --- src/inspircd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/inspircd.cpp') diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 56b8178d2..f7421dd7b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -324,7 +324,7 @@ namespace default: // An unknown option was specified. - std::cout << con_red << "Error:" << con_reset << " unknown option '" << argv[optind] << "'." << std::endl + std::cout << con_red << "Error:" << con_reset << " unknown option '" << argv[optind-1] << "'." << std::endl << con_bright << "Usage: " << con_reset << argv[0] << " [--config ] [--debug] [--nofork] [--nolog]" << std::endl << std::string(strlen(argv[0]) + 8, ' ') << "[--nopid] [--runasroot] [--version]" << std::endl; ServerInstance->Exit(EXIT_STATUS_ARGV); -- cgit v1.3.1-10-gc9f91