From: Japin Li Date: Tue, 21 Jul 2026 17:49:02 +0800 Subject: [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Move optind++ and place = EMSG before the BADARG return in the long option path to match short option behavior and ensure consistent state. --- src/port/getopt_long.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c index 20953db9db1..a488a647889 100644 --- a/src/port/getopt_long.c +++ b/src/port/getopt_long.c @@ -145,6 +145,9 @@ retry: } else { + place = EMSG; + optind++; + if (optstring[0] == ':') return BADARG; @@ -153,9 +156,6 @@ retry: "%s: option requires an argument -- %s\n", argv[0], place); - place = EMSG; - optind++; - if (has_arg == required_argument) return BADCH; optarg = NULL; -- 2.53.0 --=-=-=--