agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
[PATCH] Allow wildcard (%) in extension upgrade paths
467+ messages / 3 participants
[nested] [flat]

* [PATCH] Allow wildcard (%) in extension upgrade paths
@ 2022-09-14 09:10  Sandro Santilli <strk@kbt.io>
  0 siblings, 0 replies; 467+ messages in thread

From: Sandro Santilli @ 2022-09-14 09:10 UTC (permalink / raw)

A wildcard character "%" will be accepted in the
"source" side of the upgrade script and be considered
usable to upgrade any version to the "target" side.

Includes regression test and documentation.
---
 doc/src/sgml/extend.sgml                      |  8 ++++
 src/backend/commands/extension.c              | 42 ++++++++++++++++---
 src/test/modules/test_extensions/Makefile     |  6 ++-
 .../expected/test_extensions.out              | 15 +++++++
 src/test/modules/test_extensions/meson.build  |  3 ++
 .../test_extensions/sql/test_extensions.sql   |  7 ++++
 .../test_ext_wildcard1--%--2.0.sql            |  6 +++
 .../test_ext_wildcard1--1.0.sql               |  6 +++
 .../test_ext_wildcard1.control                |  3 ++
 9 files changed, 88 insertions(+), 8 deletions(-)
 create mode 100644 src/test/modules/test_extensions/test_ext_wildcard1--%--2.0.sql
 create mode 100644 src/test/modules/test_extensions/test_ext_wildcard1--1.0.sql
 create mode 100644 src/test/modules/test_extensions/test_ext_wildcard1.control

diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index 46e873a166..c79140f669 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -1081,6 +1081,14 @@ SELECT pg_catalog.pg_extension_config_dump('my_config', 'WHERE NOT standard_entr
      <literal>1.1</literal>).
     </para>
 
+    <para>
+     The literal value <literal>%</literal> can be used as the
+     <replaceable>old_version</replaceable> component in an extension
+     update script for it to match any version. Such wildcard update
+     scripts will only be used when no explicit path is found from
+     old to target version.
+    </para>
+
     <para>
      Given that a suitable update script is available, the command
      <command>ALTER EXTENSION UPDATE</command> will update an installed extension
diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c
index 1a62e5dac5..e3ea9dba30 100644
--- a/src/backend/commands/extension.c
+++ b/src/backend/commands/extension.c
@@ -128,6 +128,7 @@ static void ApplyExtensionUpdates(Oid extensionOid,
 								  bool cascade,
 								  bool is_create);
 static char *read_whole_file(const char *filename, int *length);
+static bool file_exists(const char *name);
 
 
 /*
@@ -890,7 +891,14 @@ execute_extension_script(Oid extensionOid, ExtensionControlFile *control,
 	if (from_version == NULL)
 		elog(DEBUG1, "executing extension script for \"%s\" version '%s'", control->name, version);
 	else
+	{
+		if ( ! file_exists(filename) )
+		{
+			/* if filename does not exist, try wildcard */
+			filename = get_extension_script_filename(control, "%", version);
+		}
 		elog(DEBUG1, "executing extension script for \"%s\" update from version '%s' to '%s'", control->name, from_version, version);
+	}
 
 	/*
 	 * If installing a trusted extension on behalf of a non-superuser, become
@@ -1214,14 +1222,19 @@ identify_update_path(ExtensionControlFile *control,
 
 	/* Find shortest path */
 	result = find_update_path(evi_list, evi_start, evi_target, false, false);
+	if (result != NIL)
+		return result;
 
-	if (result == NIL)
-		ereport(ERROR,
-				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-				 errmsg("extension \"%s\" has no update path from version \"%s\" to version \"%s\"",
-						control->name, oldVersion, newVersion)));
+	/* Find wildcard path, if no explicit path was found */
+	evi_start = get_ext_ver_info("%", &evi_list);
+	result = find_update_path(evi_list, evi_start, evi_target, false, false);
+	if (result != NIL)
+		return result;
 
-	return result;
+	ereport(ERROR,
+			(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+			 errmsg("extension \"%s\" has no update path from version \"%s\" to version \"%s\"",
+					control->name, oldVersion, newVersion)));
 }
 
 /*
@@ -3392,3 +3405,20 @@ read_whole_file(const char *filename, int *length)
 	buf[*length] = '\0';
 	return buf;
 }
+
+static bool
+file_exists(const char *name)
+{
+	struct stat st;
+
+	Assert(name != NULL);
+
+	if (stat(name, &st) == 0)
+		return !S_ISDIR(st.st_mode);
+	else if (!(errno == ENOENT || errno == ENOTDIR || errno == EACCES))
+		ereport(ERROR,
+				(errcode_for_file_access(),
+				 errmsg("could not access file \"%s\": %m", name)));
+
+	return false;
+}
diff --git a/src/test/modules/test_extensions/Makefile b/src/test/modules/test_extensions/Makefile
index c3139ab0fc..4fe2d82b6e 100644
--- a/src/test/modules/test_extensions/Makefile
+++ b/src/test/modules/test_extensions/Makefile
@@ -6,14 +6,16 @@ PGFILEDESC = "test_extensions - regression testing for EXTENSION support"
 EXTENSION = test_ext1 test_ext2 test_ext3 test_ext4 test_ext5 test_ext6 \
             test_ext7 test_ext8 test_ext_cine test_ext_cor \
             test_ext_cyclic1 test_ext_cyclic2 \
-            test_ext_evttrig
+            test_ext_evttrig test_ext_wildcard1
 DATA = test_ext1--1.0.sql test_ext2--1.0.sql test_ext3--1.0.sql \
        test_ext4--1.0.sql test_ext5--1.0.sql test_ext6--1.0.sql \
        test_ext7--1.0.sql test_ext7--1.0--2.0.sql test_ext8--1.0.sql \
        test_ext_cine--1.0.sql test_ext_cine--1.0--1.1.sql \
        test_ext_cor--1.0.sql \
        test_ext_cyclic1--1.0.sql test_ext_cyclic2--1.0.sql \
-       test_ext_evttrig--1.0.sql test_ext_evttrig--1.0--2.0.sql
+       test_ext_evttrig--1.0.sql test_ext_evttrig--1.0--2.0.sql \
+       test_ext_wildcard1--1.0.sql test_ext_wildcard1--%--2.0.sql \
+
 
 REGRESS = test_extensions test_extdepend
 
diff --git a/src/test/modules/test_extensions/expected/test_extensions.out b/src/test/modules/test_extensions/expected/test_extensions.out
index 821fed38d1..1c4dc5be42 100644
--- a/src/test/modules/test_extensions/expected/test_extensions.out
+++ b/src/test/modules/test_extensions/expected/test_extensions.out
@@ -312,3 +312,18 @@ Objects in extension "test_ext_cine"
  table ext_cine_tab3
 (9 rows)
 
+CREATE EXTENSION test_ext_wildcard1;
+SELECT ext_wildcard1_version();
+ ext_wildcard1_version 
+-----------------------
+ 1.0
+(1 row)
+
+ALTER EXTENSION test_ext_wildcard1 UPDATE TO '2.0';
+SELECT ext_wildcard1_version();
+ ext_wildcard1_version 
+-----------------------
+ 2.0
+(1 row)
+
+DROP EXTENSION test_ext_wildcard1;
diff --git a/src/test/modules/test_extensions/meson.build b/src/test/modules/test_extensions/meson.build
index e95a9f2e7e..79d90b34c1 100644
--- a/src/test/modules/test_extensions/meson.build
+++ b/src/test/modules/test_extensions/meson.build
@@ -29,6 +29,9 @@ install_data(
   'test_ext_evttrig--1.0--2.0.sql',
   'test_ext_evttrig--1.0.sql',
   'test_ext_evttrig.control',
+  'test_ext_wildcard1--1.0.sql',
+  'test_ext_wildcard1--%--2.0.sql',
+  'test_ext_wildcard1.control',
   kwargs: contrib_data_args,
 )
 
diff --git a/src/test/modules/test_extensions/sql/test_extensions.sql b/src/test/modules/test_extensions/sql/test_extensions.sql
index 41b6cddf0b..071845e8df 100644
--- a/src/test/modules/test_extensions/sql/test_extensions.sql
+++ b/src/test/modules/test_extensions/sql/test_extensions.sql
@@ -209,3 +209,10 @@ CREATE EXTENSION test_ext_cine;
 ALTER EXTENSION test_ext_cine UPDATE TO '1.1';
 
 \dx+ test_ext_cine
+
+
+CREATE EXTENSION test_ext_wildcard1;
+SELECT ext_wildcard1_version();
+ALTER EXTENSION test_ext_wildcard1 UPDATE TO '2.0';
+SELECT ext_wildcard1_version();
+DROP EXTENSION test_ext_wildcard1;
diff --git a/src/test/modules/test_extensions/test_ext_wildcard1--%--2.0.sql b/src/test/modules/test_extensions/test_ext_wildcard1--%--2.0.sql
new file mode 100644
index 0000000000..75154e5c55
--- /dev/null
+++ b/src/test/modules/test_extensions/test_ext_wildcard1--%--2.0.sql
@@ -0,0 +1,6 @@
+/* src/test/modules/test_extensions/test_ext_wildcard1--%--2.0.sql */
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "ALTER EXTENSION test_ext_wildcard1 UPDATE TO '2.0'" to load this file. \quit
+
+CREATE OR REPLACE FUNCTION ext_wildcard1_version() returns TEXT
+AS 'SELECT 2.0' LANGUAGE 'sql';
diff --git a/src/test/modules/test_extensions/test_ext_wildcard1--1.0.sql b/src/test/modules/test_extensions/test_ext_wildcard1--1.0.sql
new file mode 100644
index 0000000000..a69e791fda
--- /dev/null
+++ b/src/test/modules/test_extensions/test_ext_wildcard1--1.0.sql
@@ -0,0 +1,6 @@
+/* src/test/modules/test_extensions/test_ext_wildcard1--1.0.sql */
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "CREATE EXTENSION test_ext_wildcard1" to load this file. \quit
+
+CREATE FUNCTION ext_wildcard1_version() returns TEXT
+AS 'SELECT 1.0' LANGUAGE 'sql';
diff --git a/src/test/modules/test_extensions/test_ext_wildcard1.control b/src/test/modules/test_extensions/test_ext_wildcard1.control
new file mode 100644
index 0000000000..0c2fc6fca6
--- /dev/null
+++ b/src/test/modules/test_extensions/test_ext_wildcard1.control
@@ -0,0 +1,3 @@
+comment = 'Test extension wildcard 1'
+default_version = '1.0'
+relocatable = true
-- 
2.34.1


--flyqbkgig2a5xh3s--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)

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


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 10:16  Japin Li <japinli@hotmail.com>
  0 siblings, 1 reply; 467+ messages in thread

From: Japin Li @ 2026-07-21 10:16 UTC (permalink / raw)
  To: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>


Hi, hackers

I noticed an inconsistency in how optind is handled when a required argument
is missing.

For short options, the current code handles the BADARG case as follows:

        else if (argc <= ++optind)
        {                       /* no arg */
            place = EMSG;
            if (*optstring == ':')
                return BADARG;
            if (opterr)
                fprintf(stderr,
                        "%s: option requires an argument -- %c\n",
                        argv[0], optopt);
            return BADCH;
        }

Here, place is set to EMSG and optind is incremented before returning BADARG.
However, for long options, the same logic currently sets place = EMSG and
increments optind after returning BADARG.

        else
        {
            if (optstring[0] == ':')
                return BADARG;    <-- here, return before increasing optind

            if (opterr && has_arg == required_argument)
                fprintf(stderr,
                        "%s: option requires an argument -- %s\n",
                        argv[0], place);

            place = EMSG;
            optind++;

            if (has_arg == required_argument)
                return BADCH;
            optarg = NULL;
        }

The attached patch moves the place = EMSG and optind++ assignments to the
beginning of the long‑option error block, aligning the behavior with that of
short options.

Any thought?

-- 
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.



^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* Re: Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 01:47  Michael Paquier <michael@paquier.xyz>
  parent: Japin Li <japinli@hotmail.com>
  0 siblings, 1 reply; 467+ messages in thread

From: Michael Paquier @ 2026-07-22 01:47 UTC (permalink / raw)
  To: Japin Li <japinli@hotmail.com>; +Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>

On Tue, Jul 21, 2026 at 06:16:27PM +0800, Japin Li wrote:
> +  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;

This also means that for long options we have an error message would
now use an empty string instead of an option name all the time.  That
looks incorrect.

You are claiming that this makes the short option path more
consistent.  That's true based on what your patch does, but it also
looks to me like the short option area is already wrong in setting
EMSG before we issue the error string "option requires an argument".
So, to me, you are making the situation worse in some cases while
claiming that it improves the situation in some other cases.

Our implementation of getopt_long() is only used on Windows for MSVC,
as far as I know.  I'd also suggest to post one or more examples of
how this changes the implementation behavior.  You should be able to
force your way through easily so as the Postgres getopt_long()
implementation is used with a quick hack, just to prove your point,
saving you the pain of deploying a WIN32 host..  (Like use a
pg_getopt_long() and patch one of the binaries, whatever you prefer.)
--
Michael


Attachments:

  [application/pgp-signature] signature.asc (833B, ../../amAhNvNM4I4ATevL@paquier.xyz/2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 03:59  Japin Li <japinli@hotmail.com>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-22 03:59 UTC (permalink / raw)

In the long option error path for a missing required argument, the code
previously checked optstring[0] == ':' and returned BADARG immediately
without incrementing optind and setting place = EMSG.  This left optind
and place in an inconsistent state compared to the short option path,
where these updates are performed before the check and return.
---
 src/port/getopt_long.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..2e869fed58b 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,8 +145,12 @@ retry:
 						}
 						else
 						{
+							optind++;
 							if (optstring[0] == ':')
+							{
+								place = EMSG;
 								return BADARG;
+							}
 
 							if (opterr && has_arg == required_argument)
 								fprintf(stderr,
@@ -154,7 +158,6 @@ retry:
 										argv[0], place);
 
 							place = EMSG;
-							optind++;
 
 							if (has_arg == required_argument)
 								return BADCH;
-- 
2.53.0


--=-=-=--






^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* Re: Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 04:17  Japin Li <japinli@hotmail.com>
  parent: Michael Paquier <michael@paquier.xyz>
  0 siblings, 1 reply; 467+ messages in thread

From: Japin Li @ 2026-07-22 04:17 UTC (permalink / raw)
  To: Michael Paquier <michael@paquier.xyz>; +Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>

Hi, Michael

Thanks for reviewing the patch.

<#secure method=pgpmime mode=sign>
On Wed, 22 Jul 2026 at 10:47, Michael Paquier <michael@paquier.xyz> wrote:
> On Tue, Jul 21, 2026 at 06:16:27PM +0800, Japin Li wrote:
>> +  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;
>
> This also means that for long options we have an error message would
> now use an empty string instead of an option name all the time.  That
> looks incorrect.

Right.  I was mistaken about the option name.  Fixed in v2-0002.

>
> You are claiming that this makes the short option path more
> consistent.  That's true based on what your patch does, but it also
> looks to me like the short option area is already wrong in setting
> EMSG before we issue the error string "option requires an argument".
> So, to me, you are making the situation worse in some cases while
> claiming that it improves the situation in some other cases.
>
> Our implementation of getopt_long() is only used on Windows for MSVC,
> as far as I know.  I'd also suggest to post one or more examples of
> how this changes the implementation behavior.  You should be able to
> force your way through easily so as the Postgres getopt_long()
> implementation is used with a quick hack, just to prove your point,
> saving you the pain of deploying a WIN32 host..  (Like use a
> pg_getopt_long() and patch one of the binaries, whatever you prefer.)

Here's a mini‑demo for getopt_long() in v2‑0001. Without v2‑0002, the output is:

    $ ./getopt_long_test --log-filename
    option './getopt_long_test' requires an argument
    unrecognized option './getopt_long_test'
    unrecognized option './getopt_long_test'
    unrecognized option './getopt_long_test'
    unrecognized option './getopt_long_test'
    $ ./getopt_long_test -f
    option '-f' requires an argument

With v2‑0002 applied, the output is:

    $ ./getopt_long_test --log-filename
    option '--log-filename' requires an argument
    $ ./getopt_long_test -f
    option '-f' requires an argument

> --
> Michael

-- 
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.





^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* Re: Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-22 04:22  Japin Li <japinli@hotmail.com>
  parent: Japin Li <japinli@hotmail.com>
  0 siblings, 1 reply; 467+ messages in thread

From: Japin Li @ 2026-07-22 04:22 UTC (permalink / raw)
  To: Michael Paquier <michael@paquier.xyz>; +Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>

On Wed, 22 Jul 2026 at 12:17, Japin Li <japinli@hotmail.com> wrote:
> Hi, Michael
>
> Thanks for reviewing the patch.
>
> <#secure method=pgpmime mode=sign>
> On Wed, 22 Jul 2026 at 10:47, Michael Paquier <michael@paquier.xyz> wrote:
>> On Tue, Jul 21, 2026 at 06:16:27PM +0800, Japin Li wrote:
>>> +  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;
>>
>> This also means that for long options we have an error message would
>> now use an empty string instead of an option name all the time.  That
>> looks incorrect.
>
> Right.  I was mistaken about the option name.  Fixed in v2-0002.
>
>>
>> You are claiming that this makes the short option path more
>> consistent.  That's true based on what your patch does, but it also
>> looks to me like the short option area is already wrong in setting
>> EMSG before we issue the error string "option requires an argument".
>> So, to me, you are making the situation worse in some cases while
>> claiming that it improves the situation in some other cases.
>>
>> Our implementation of getopt_long() is only used on Windows for MSVC,
>> as far as I know.  I'd also suggest to post one or more examples of
>> how this changes the implementation behavior.  You should be able to
>> force your way through easily so as the Postgres getopt_long()
>> implementation is used with a quick hack, just to prove your point,
>> saving you the pain of deploying a WIN32 host..  (Like use a
>> pg_getopt_long() and patch one of the binaries, whatever you prefer.)
>
> Here's a mini‑demo for getopt_long() in v2‑0001. Without v2‑0002, the output is:
>
>     $ ./getopt_long_test --log-filename
>     option './getopt_long_test' requires an argument
>     unrecognized option './getopt_long_test'
>     unrecognized option './getopt_long_test'
>     unrecognized option './getopt_long_test'
>     unrecognized option './getopt_long_test'
>     $ ./getopt_long_test -f
>     option '-f' requires an argument
>
> With v2‑0002 applied, the output is:
>
>     $ ./getopt_long_test --log-filename
>     option '--log-filename' requires an argument
>     $ ./getopt_long_test -f
>     option '-f' requires an argument
>
>> --
>> Michael
>

Sorry, I forgot to include the patches in my previous email.

> -- 
> Regards,
> Japin Li
> ChengDu WenWu Information Technology Co., Ltd.

-- 
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.



^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* Re: Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-31 03:48  Michael Paquier <michael@paquier.xyz>
  parent: Japin Li <japinli@hotmail.com>
  0 siblings, 1 reply; 467+ messages in thread

From: Michael Paquier @ 2026-07-31 03:48 UTC (permalink / raw)
  To: Japin Li <japinli@hotmail.com>; +Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>

On Wed, Jul 22, 2026 at 12:22:06PM +0800, Japin Li wrote:
> On Wed, 22 Jul 2026 at 12:17, Japin Li <japinli@hotmail.com> wrote:
>> With v2‑0002 applied, the output is:
>>
>>     $ ./getopt_long_test --log-filename
>>     option '--log-filename' requires an argument
>>     $ ./getopt_long_test -f
>>     option '-f' requires an argument

Thanks, that saves time.  I have been also checking how libc behaves,
debugging more information with optind, argv, optarg, opterr and
optopt with the short and long cases.

One side note: optopt still remains inconsistent compared to our port
version.  Not sure if this is worth caring about..  Mentioning
in passing.

> Sorry, I forgot to include the patches in my previous email.

No problem.  That happens.

Adjusted on HEAD.
--
Michael


Attachments:

  [application/pgp-signature] signature.asc (833B, ../../amwa9nvUdE5QneAD@paquier.xyz/2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 467+ messages in thread

* Re: Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-31 05:27  Japin Li <japinli@hotmail.com>
  parent: Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 467+ messages in thread

From: Japin Li @ 2026-07-31 05:27 UTC (permalink / raw)
  To: Michael Paquier <michael@paquier.xyz>; +Cc: PostgreSQL-development <pgsql-hackers@lists.postgresql.org>

References: <SY7PR01MB10921AF81F18A8BCFA06388BEB6C22@SY7PR01MB10921.ausprd01.prod.outlook.com>
	<amAhNvNM4I4ATevL@paquier.xyz>
	<SY7PR01MB10921B103CBDC8A0128D156B5B6C12@SY7PR01MB10921.ausprd01.prod.outlook.com>
	<SY7PR01MB109210E2A46D09049F98D185AB6C12@SY7PR01MB10921.ausprd01.prod.outlook.com>
	<amwa9nvUdE5QneAD@paquier.xyz>
User-Agent: mu4e 1.14.1; emacs 30.2
Date: Fri, 31 Jul 2026 13:27:31 +0800

<#secure method=pgpmime mode=sign>
On Fri, 31 Jul 2026 at 12:48, Michael Paquier <michael@paquier.xyz> wrote:
> On Wed, Jul 22, 2026 at 12:22:06PM +0800, Japin Li wrote:
>> On Wed, 22 Jul 2026 at 12:17, Japin Li <japinli@hotmail.com> wrote:
>>> With v2‑0002 applied, the output is:
>>>
>>>     $ ./getopt_long_test --log-filename
>>>     option '--log-filename' requires an argument
>>>     $ ./getopt_long_test -f
>>>     option '-f' requires an argument
>
> Thanks, that saves time.  I have been also checking how libc behaves,
> debugging more information with optind, argv, optarg, opterr and
> optopt with the short and long cases.
>
> One side note: optopt still remains inconsistent compared to our port
> version.  Not sure if this is worth caring about..  Mentioning
> in passing.
>
>> Sorry, I forgot to include the patches in my previous email.
>
> No problem.  That happens.
>
> Adjusted on HEAD.

Thank you!

> --
> Michael

-- 
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.






^ permalink  raw  reply  [nested|flat] 467+ messages in thread


end of thread, other threads:[~2026-07-31 05:27 UTC | newest]

Thread overview: 467+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14 09:10 [PATCH] Allow wildcard (%) in extension upgrade paths Sandro Santilli <strk@kbt.io>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 10:16 Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 01:47 ` Re: Fix optind handling inconsistency in getopt_long() for missing argument Michael Paquier <michael@paquier.xyz>
2026-07-22 04:17   ` Re: Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 04:22     ` Re: Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-31 03:48       ` Re: Fix optind handling inconsistency in getopt_long() for missing argument Michael Paquier <michael@paquier.xyz>
2026-07-31 05:27         ` Re: Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-22 03:59 [PATCH v2 2/2] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox