agora inbox for pgsql-hackers@postgresql.org
help / color / mirror / Atom feed[PATCH v25 7/9] Row pattern recognition patch (tests).
467+ messages / 3 participants
[nested] [flat]
* [PATCH v25 7/9] Row pattern recognition patch (tests).
@ 2024-12-21 06:19 Tatsuo Ishii <ishii@postgresql.org>
0 siblings, 0 replies; 467+ messages in thread
From: Tatsuo Ishii @ 2024-12-21 06:19 UTC (permalink / raw)
---
src/test/regress/expected/rpr.out | 919 +++++++++++++++++++++++++++++
src/test/regress/parallel_schedule | 2 +-
src/test/regress/sql/rpr.sql | 467 +++++++++++++++
3 files changed, 1387 insertions(+), 1 deletion(-)
create mode 100644 src/test/regress/expected/rpr.out
create mode 100644 src/test/regress/sql/rpr.sql
diff --git a/src/test/regress/expected/rpr.out b/src/test/regress/expected/rpr.out
new file mode 100644
index 0000000000..b8cd6190b4
--- /dev/null
+++ b/src/test/regress/expected/rpr.out
@@ -0,0 +1,919 @@
+--
+-- Test for row pattern definition clause
+--
+CREATE TEMP TABLE stock (
+ company TEXT,
+ tdate DATE,
+ price INTEGER
+);
+INSERT INTO stock VALUES ('company1', '2023-07-01', 100);
+INSERT INTO stock VALUES ('company1', '2023-07-02', 200);
+INSERT INTO stock VALUES ('company1', '2023-07-03', 150);
+INSERT INTO stock VALUES ('company1', '2023-07-04', 140);
+INSERT INTO stock VALUES ('company1', '2023-07-05', 150);
+INSERT INTO stock VALUES ('company1', '2023-07-06', 90);
+INSERT INTO stock VALUES ('company1', '2023-07-07', 110);
+INSERT INTO stock VALUES ('company1', '2023-07-08', 130);
+INSERT INTO stock VALUES ('company1', '2023-07-09', 120);
+INSERT INTO stock VALUES ('company1', '2023-07-10', 130);
+INSERT INTO stock VALUES ('company2', '2023-07-01', 50);
+INSERT INTO stock VALUES ('company2', '2023-07-02', 2000);
+INSERT INTO stock VALUES ('company2', '2023-07-03', 1500);
+INSERT INTO stock VALUES ('company2', '2023-07-04', 1400);
+INSERT INTO stock VALUES ('company2', '2023-07-05', 1500);
+INSERT INTO stock VALUES ('company2', '2023-07-06', 60);
+INSERT INTO stock VALUES ('company2', '2023-07-07', 1100);
+INSERT INTO stock VALUES ('company2', '2023-07-08', 1300);
+INSERT INTO stock VALUES ('company2', '2023-07-09', 1200);
+INSERT INTO stock VALUES ('company2', '2023-07-10', 1300);
+SELECT * FROM stock;
+ company | tdate | price
+----------+------------+-------
+ company1 | 07-01-2023 | 100
+ company1 | 07-02-2023 | 200
+ company1 | 07-03-2023 | 150
+ company1 | 07-04-2023 | 140
+ company1 | 07-05-2023 | 150
+ company1 | 07-06-2023 | 90
+ company1 | 07-07-2023 | 110
+ company1 | 07-08-2023 | 130
+ company1 | 07-09-2023 | 120
+ company1 | 07-10-2023 | 130
+ company2 | 07-01-2023 | 50
+ company2 | 07-02-2023 | 2000
+ company2 | 07-03-2023 | 1500
+ company2 | 07-04-2023 | 1400
+ company2 | 07-05-2023 | 1500
+ company2 | 07-06-2023 | 60
+ company2 | 07-07-2023 | 1100
+ company2 | 07-08-2023 | 1300
+ company2 | 07-09-2023 | 1200
+ company2 | 07-10-2023 | 1300
+(20 rows)
+
+-- basic test using PREV
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | nth_second
+----------+------------+-------+-------------+------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 140 | 07-02-2023
+ company1 | 07-02-2023 | 200 | | |
+ company1 | 07-03-2023 | 150 | | |
+ company1 | 07-04-2023 | 140 | | |
+ company1 | 07-05-2023 | 150 | | |
+ company1 | 07-06-2023 | 90 | 90 | 120 | 07-07-2023
+ company1 | 07-07-2023 | 110 | | |
+ company1 | 07-08-2023 | 130 | | |
+ company1 | 07-09-2023 | 120 | | |
+ company1 | 07-10-2023 | 130 | | |
+ company2 | 07-01-2023 | 50 | 50 | 1400 | 07-02-2023
+ company2 | 07-02-2023 | 2000 | | |
+ company2 | 07-03-2023 | 1500 | | |
+ company2 | 07-04-2023 | 1400 | | |
+ company2 | 07-05-2023 | 1500 | | |
+ company2 | 07-06-2023 | 60 | 60 | 1200 | 07-07-2023
+ company2 | 07-07-2023 | 1100 | | |
+ company2 | 07-08-2023 | 1300 | | |
+ company2 | 07-09-2023 | 1200 | | |
+ company2 | 07-10-2023 | 1300 | | |
+(20 rows)
+
+-- basic test using PREV. UP appears twice
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+ UP+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | nth_second
+----------+------------+-------+-------------+------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 150 | 07-02-2023
+ company1 | 07-02-2023 | 200 | | |
+ company1 | 07-03-2023 | 150 | | |
+ company1 | 07-04-2023 | 140 | | |
+ company1 | 07-05-2023 | 150 | | |
+ company1 | 07-06-2023 | 90 | 90 | 130 | 07-07-2023
+ company1 | 07-07-2023 | 110 | | |
+ company1 | 07-08-2023 | 130 | | |
+ company1 | 07-09-2023 | 120 | | |
+ company1 | 07-10-2023 | 130 | | |
+ company2 | 07-01-2023 | 50 | 50 | 1500 | 07-02-2023
+ company2 | 07-02-2023 | 2000 | | |
+ company2 | 07-03-2023 | 1500 | | |
+ company2 | 07-04-2023 | 1400 | | |
+ company2 | 07-05-2023 | 1500 | | |
+ company2 | 07-06-2023 | 60 | 60 | 1300 | 07-07-2023
+ company2 | 07-07-2023 | 1100 | | |
+ company2 | 07-08-2023 | 1300 | | |
+ company2 | 07-09-2023 | 1200 | | |
+ company2 | 07-10-2023 | 1300 | | |
+(20 rows)
+
+-- basic test using PREV. Use '*'
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP* DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | nth_second
+----------+------------+-------+-------------+------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 140 | 07-02-2023
+ company1 | 07-02-2023 | 200 | | |
+ company1 | 07-03-2023 | 150 | | |
+ company1 | 07-04-2023 | 140 | | |
+ company1 | 07-05-2023 | 150 | 150 | 90 | 07-06-2023
+ company1 | 07-06-2023 | 90 | | |
+ company1 | 07-07-2023 | 110 | 110 | 120 | 07-08-2023
+ company1 | 07-08-2023 | 130 | | |
+ company1 | 07-09-2023 | 120 | | |
+ company1 | 07-10-2023 | 130 | | |
+ company2 | 07-01-2023 | 50 | 50 | 1400 | 07-02-2023
+ company2 | 07-02-2023 | 2000 | | |
+ company2 | 07-03-2023 | 1500 | | |
+ company2 | 07-04-2023 | 1400 | | |
+ company2 | 07-05-2023 | 1500 | 1500 | 60 | 07-06-2023
+ company2 | 07-06-2023 | 60 | | |
+ company2 | 07-07-2023 | 1100 | 1100 | 1200 | 07-08-2023
+ company2 | 07-08-2023 | 1300 | | |
+ company2 | 07-09-2023 | 1200 | | |
+ company2 | 07-10-2023 | 1300 | | |
+(20 rows)
+
+-- basic test with none greedy pattern
+SELECT company, tdate, price, count(*) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (A A A)
+ DEFINE
+ A AS price >= 140 AND price <= 150
+);
+ company | tdate | price | count
+----------+------------+-------+-------
+ company1 | 07-01-2023 | 100 | 0
+ company1 | 07-02-2023 | 200 | 0
+ company1 | 07-03-2023 | 150 | 3
+ company1 | 07-04-2023 | 140 | 0
+ company1 | 07-05-2023 | 150 | 0
+ company1 | 07-06-2023 | 90 | 0
+ company1 | 07-07-2023 | 110 | 0
+ company1 | 07-08-2023 | 130 | 0
+ company1 | 07-09-2023 | 120 | 0
+ company1 | 07-10-2023 | 130 | 0
+ company2 | 07-01-2023 | 50 | 0
+ company2 | 07-02-2023 | 2000 | 0
+ company2 | 07-03-2023 | 1500 | 0
+ company2 | 07-04-2023 | 1400 | 0
+ company2 | 07-05-2023 | 1500 | 0
+ company2 | 07-06-2023 | 60 | 0
+ company2 | 07-07-2023 | 1100 | 0
+ company2 | 07-08-2023 | 1300 | 0
+ company2 | 07-09-2023 | 1200 | 0
+ company2 | 07-10-2023 | 1300 | 0
+(20 rows)
+
+-- last_value() should remain consistent
+SELECT company, tdate, price, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | last_value
+----------+------------+-------+------------
+ company1 | 07-01-2023 | 100 | 140
+ company1 | 07-02-2023 | 200 |
+ company1 | 07-03-2023 | 150 |
+ company1 | 07-04-2023 | 140 |
+ company1 | 07-05-2023 | 150 |
+ company1 | 07-06-2023 | 90 | 120
+ company1 | 07-07-2023 | 110 |
+ company1 | 07-08-2023 | 130 |
+ company1 | 07-09-2023 | 120 |
+ company1 | 07-10-2023 | 130 |
+ company2 | 07-01-2023 | 50 | 1400
+ company2 | 07-02-2023 | 2000 |
+ company2 | 07-03-2023 | 1500 |
+ company2 | 07-04-2023 | 1400 |
+ company2 | 07-05-2023 | 1500 |
+ company2 | 07-06-2023 | 60 | 1200
+ company2 | 07-07-2023 | 1100 |
+ company2 | 07-08-2023 | 1300 |
+ company2 | 07-09-2023 | 1200 |
+ company2 | 07-10-2023 | 1300 |
+(20 rows)
+
+-- omit "START" in DEFINE but it is ok because "START AS TRUE" is
+-- implicitly defined. per spec.
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | nth_second
+----------+------------+-------+-------------+------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 140 | 07-02-2023
+ company1 | 07-02-2023 | 200 | | |
+ company1 | 07-03-2023 | 150 | | |
+ company1 | 07-04-2023 | 140 | | |
+ company1 | 07-05-2023 | 150 | | |
+ company1 | 07-06-2023 | 90 | 90 | 120 | 07-07-2023
+ company1 | 07-07-2023 | 110 | | |
+ company1 | 07-08-2023 | 130 | | |
+ company1 | 07-09-2023 | 120 | | |
+ company1 | 07-10-2023 | 130 | | |
+ company2 | 07-01-2023 | 50 | 50 | 1400 | 07-02-2023
+ company2 | 07-02-2023 | 2000 | | |
+ company2 | 07-03-2023 | 1500 | | |
+ company2 | 07-04-2023 | 1400 | | |
+ company2 | 07-05-2023 | 1500 | | |
+ company2 | 07-06-2023 | 60 | 60 | 1200 | 07-07-2023
+ company2 | 07-07-2023 | 1100 | | |
+ company2 | 07-08-2023 | 1300 | | |
+ company2 | 07-09-2023 | 1200 | | |
+ company2 | 07-10-2023 | 1300 | | |
+(20 rows)
+
+-- the first row start with less than or equal to 100
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (LOWPRICE UP+ DOWN+)
+ DEFINE
+ LOWPRICE AS price <= 100,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 140
+ company1 | 07-02-2023 | 200 | |
+ company1 | 07-03-2023 | 150 | |
+ company1 | 07-04-2023 | 140 | |
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | 90 | 120
+ company1 | 07-07-2023 | 110 | |
+ company1 | 07-08-2023 | 130 | |
+ company1 | 07-09-2023 | 120 | |
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | 50 | 1400
+ company2 | 07-02-2023 | 2000 | |
+ company2 | 07-03-2023 | 1500 | |
+ company2 | 07-04-2023 | 1400 | |
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | 60 | 1200
+ company2 | 07-07-2023 | 1100 | |
+ company2 | 07-08-2023 | 1300 | |
+ company2 | 07-09-2023 | 1200 | |
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- second row raises 120%
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (LOWPRICE UP+ DOWN+)
+ DEFINE
+ LOWPRICE AS price <= 100,
+ UP AS price > PREV(price) * 1.2,
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 140
+ company1 | 07-02-2023 | 200 | |
+ company1 | 07-03-2023 | 150 | |
+ company1 | 07-04-2023 | 140 | |
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | |
+ company1 | 07-07-2023 | 110 | |
+ company1 | 07-08-2023 | 130 | |
+ company1 | 07-09-2023 | 120 | |
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | 50 | 1400
+ company2 | 07-02-2023 | 2000 | |
+ company2 | 07-03-2023 | 1500 | |
+ company2 | 07-04-2023 | 1400 | |
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | |
+ company2 | 07-07-2023 | 1100 | |
+ company2 | 07-08-2023 | 1300 | |
+ company2 | 07-09-2023 | 1200 | |
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- using NEXT
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UPDOWN)
+ DEFINE
+ START AS TRUE,
+ UPDOWN AS price > PREV(price) AND price > NEXT(price)
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 200
+ company1 | 07-02-2023 | 200 | |
+ company1 | 07-03-2023 | 150 | |
+ company1 | 07-04-2023 | 140 | 140 | 150
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | |
+ company1 | 07-07-2023 | 110 | 110 | 130
+ company1 | 07-08-2023 | 130 | |
+ company1 | 07-09-2023 | 120 | |
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | 50 | 2000
+ company2 | 07-02-2023 | 2000 | |
+ company2 | 07-03-2023 | 1500 | |
+ company2 | 07-04-2023 | 1400 | 1400 | 1500
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | |
+ company2 | 07-07-2023 | 1100 | 1100 | 1300
+ company2 | 07-08-2023 | 1300 | |
+ company2 | 07-09-2023 | 1200 | |
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- using AFTER MATCH SKIP TO NEXT ROW
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ INITIAL
+ PATTERN (START UPDOWN)
+ DEFINE
+ START AS TRUE,
+ UPDOWN AS price > PREV(price) AND price > NEXT(price)
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 200
+ company1 | 07-02-2023 | 200 | |
+ company1 | 07-03-2023 | 150 | |
+ company1 | 07-04-2023 | 140 | 140 | 150
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | |
+ company1 | 07-07-2023 | 110 | 110 | 130
+ company1 | 07-08-2023 | 130 | |
+ company1 | 07-09-2023 | 120 | |
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | 50 | 2000
+ company2 | 07-02-2023 | 2000 | |
+ company2 | 07-03-2023 | 1500 | |
+ company2 | 07-04-2023 | 1400 | 1400 | 1500
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | |
+ company2 | 07-07-2023 | 1100 | 1100 | 1300
+ company2 | 07-08-2023 | 1300 | |
+ company2 | 07-09-2023 | 1200 | |
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- match everything
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN (A+)
+ DEFINE
+ A AS TRUE
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | 100 | 130
+ company1 | 07-02-2023 | 200 | |
+ company1 | 07-03-2023 | 150 | |
+ company1 | 07-04-2023 | 140 | |
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | |
+ company1 | 07-07-2023 | 110 | |
+ company1 | 07-08-2023 | 130 | |
+ company1 | 07-09-2023 | 120 | |
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | 50 | 1300
+ company2 | 07-02-2023 | 2000 | |
+ company2 | 07-03-2023 | 1500 | |
+ company2 | 07-04-2023 | 1400 | |
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | |
+ company2 | 07-07-2023 | 1100 | |
+ company2 | 07-08-2023 | 1300 | |
+ company2 | 07-09-2023 | 1200 | |
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- backtracking with reclassification of rows
+-- using AFTER MATCH SKIP PAST LAST ROW
+SELECT company, tdate, price, first_value(tdate) OVER w, last_value(tdate) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN (A+ B+)
+ DEFINE
+ A AS price > 100,
+ B AS price > 100
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | |
+ company1 | 07-02-2023 | 200 | 07-02-2023 | 07-05-2023
+ company1 | 07-03-2023 | 150 | |
+ company1 | 07-04-2023 | 140 | |
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | |
+ company1 | 07-07-2023 | 110 | 07-07-2023 | 07-10-2023
+ company1 | 07-08-2023 | 130 | |
+ company1 | 07-09-2023 | 120 | |
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | |
+ company2 | 07-02-2023 | 2000 | 07-02-2023 | 07-05-2023
+ company2 | 07-03-2023 | 1500 | |
+ company2 | 07-04-2023 | 1400 | |
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | |
+ company2 | 07-07-2023 | 1100 | 07-07-2023 | 07-10-2023
+ company2 | 07-08-2023 | 1300 | |
+ company2 | 07-09-2023 | 1200 | |
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- backtracking with reclassification of rows
+-- using AFTER MATCH SKIP TO NEXT ROW
+SELECT company, tdate, price, first_value(tdate) OVER w, last_value(tdate) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ INITIAL
+ PATTERN (A+ B+)
+ DEFINE
+ A AS price > 100,
+ B AS price > 100
+);
+ company | tdate | price | first_value | last_value
+----------+------------+-------+-------------+------------
+ company1 | 07-01-2023 | 100 | |
+ company1 | 07-02-2023 | 200 | 07-02-2023 | 07-05-2023
+ company1 | 07-03-2023 | 150 | 07-03-2023 | 07-05-2023
+ company1 | 07-04-2023 | 140 | 07-04-2023 | 07-05-2023
+ company1 | 07-05-2023 | 150 | |
+ company1 | 07-06-2023 | 90 | |
+ company1 | 07-07-2023 | 110 | 07-07-2023 | 07-10-2023
+ company1 | 07-08-2023 | 130 | 07-08-2023 | 07-10-2023
+ company1 | 07-09-2023 | 120 | 07-09-2023 | 07-10-2023
+ company1 | 07-10-2023 | 130 | |
+ company2 | 07-01-2023 | 50 | |
+ company2 | 07-02-2023 | 2000 | 07-02-2023 | 07-05-2023
+ company2 | 07-03-2023 | 1500 | 07-03-2023 | 07-05-2023
+ company2 | 07-04-2023 | 1400 | 07-04-2023 | 07-05-2023
+ company2 | 07-05-2023 | 1500 | |
+ company2 | 07-06-2023 | 60 | |
+ company2 | 07-07-2023 | 1100 | 07-07-2023 | 07-10-2023
+ company2 | 07-08-2023 | 1300 | 07-08-2023 | 07-10-2023
+ company2 | 07-09-2023 | 1200 | 07-09-2023 | 07-10-2023
+ company2 | 07-10-2023 | 1300 | |
+(20 rows)
+
+-- ROWS BETWEEN CURRENT ROW AND offset FOLLOWING
+SELECT company, tdate, price, first_value(tdate) OVER w, last_value(tdate) OVER w,
+ count(*) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | count
+----------+------------+-------+-------------+------------+-------
+ company1 | 07-01-2023 | 100 | 07-01-2023 | 07-03-2023 | 3
+ company1 | 07-02-2023 | 200 | | | 0
+ company1 | 07-03-2023 | 150 | | | 0
+ company1 | 07-04-2023 | 140 | 07-04-2023 | 07-06-2023 | 3
+ company1 | 07-05-2023 | 150 | | | 0
+ company1 | 07-06-2023 | 90 | | | 0
+ company1 | 07-07-2023 | 110 | 07-07-2023 | 07-09-2023 | 3
+ company1 | 07-08-2023 | 130 | | | 0
+ company1 | 07-09-2023 | 120 | | | 0
+ company1 | 07-10-2023 | 130 | | | 0
+ company2 | 07-01-2023 | 50 | 07-01-2023 | 07-03-2023 | 3
+ company2 | 07-02-2023 | 2000 | | | 0
+ company2 | 07-03-2023 | 1500 | | | 0
+ company2 | 07-04-2023 | 1400 | 07-04-2023 | 07-06-2023 | 3
+ company2 | 07-05-2023 | 1500 | | | 0
+ company2 | 07-06-2023 | 60 | | | 0
+ company2 | 07-07-2023 | 1100 | 07-07-2023 | 07-09-2023 | 3
+ company2 | 07-08-2023 | 1300 | | | 0
+ company2 | 07-09-2023 | 1200 | | | 0
+ company2 | 07-10-2023 | 1300 | | | 0
+(20 rows)
+
+--
+-- Aggregates
+--
+-- using AFTER MATCH SKIP PAST LAST ROW
+SELECT company, tdate, price,
+ first_value(price) OVER w,
+ last_value(price) OVER w,
+ max(price) OVER w,
+ min(price) OVER w,
+ sum(price) OVER w,
+ avg(price) OVER w,
+ count(price) OVER w
+FROM stock
+WINDOW w AS (
+PARTITION BY company
+ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+AFTER MATCH SKIP PAST LAST ROW
+INITIAL
+PATTERN (START UP+ DOWN+)
+DEFINE
+START AS TRUE,
+UP AS price > PREV(price),
+DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | max | min | sum | avg | count
+----------+------------+-------+-------------+------------+------+-----+------+-----------------------+-------
+ company1 | 07-01-2023 | 100 | 100 | 140 | 200 | 100 | 590 | 147.5000000000000000 | 4
+ company1 | 07-02-2023 | 200 | | | | | | | 0
+ company1 | 07-03-2023 | 150 | | | | | | | 0
+ company1 | 07-04-2023 | 140 | | | | | | | 0
+ company1 | 07-05-2023 | 150 | | | | | | | 0
+ company1 | 07-06-2023 | 90 | 90 | 120 | 130 | 90 | 450 | 112.5000000000000000 | 4
+ company1 | 07-07-2023 | 110 | | | | | | | 0
+ company1 | 07-08-2023 | 130 | | | | | | | 0
+ company1 | 07-09-2023 | 120 | | | | | | | 0
+ company1 | 07-10-2023 | 130 | | | | | | | 0
+ company2 | 07-01-2023 | 50 | 50 | 1400 | 2000 | 50 | 4950 | 1237.5000000000000000 | 4
+ company2 | 07-02-2023 | 2000 | | | | | | | 0
+ company2 | 07-03-2023 | 1500 | | | | | | | 0
+ company2 | 07-04-2023 | 1400 | | | | | | | 0
+ company2 | 07-05-2023 | 1500 | | | | | | | 0
+ company2 | 07-06-2023 | 60 | 60 | 1200 | 1300 | 60 | 3660 | 915.0000000000000000 | 4
+ company2 | 07-07-2023 | 1100 | | | | | | | 0
+ company2 | 07-08-2023 | 1300 | | | | | | | 0
+ company2 | 07-09-2023 | 1200 | | | | | | | 0
+ company2 | 07-10-2023 | 1300 | | | | | | | 0
+(20 rows)
+
+-- using AFTER MATCH SKIP TO NEXT ROW
+SELECT company, tdate, price,
+ first_value(price) OVER w,
+ last_value(price) OVER w,
+ max(price) OVER w,
+ min(price) OVER w,
+ sum(price) OVER w,
+ avg(price) OVER w,
+ count(price) OVER w
+FROM stock
+WINDOW w AS (
+PARTITION BY company
+ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+AFTER MATCH SKIP TO NEXT ROW
+INITIAL
+PATTERN (START UP+ DOWN+)
+DEFINE
+START AS TRUE,
+UP AS price > PREV(price),
+DOWN AS price < PREV(price)
+);
+ company | tdate | price | first_value | last_value | max | min | sum | avg | count
+----------+------------+-------+-------------+------------+------+------+------+-----------------------+-------
+ company1 | 07-01-2023 | 100 | 100 | 140 | 200 | 100 | 590 | 147.5000000000000000 | 4
+ company1 | 07-02-2023 | 200 | | | | | | | 0
+ company1 | 07-03-2023 | 150 | | | | | | | 0
+ company1 | 07-04-2023 | 140 | 140 | 90 | 150 | 90 | 380 | 126.6666666666666667 | 3
+ company1 | 07-05-2023 | 150 | | | | | | | 0
+ company1 | 07-06-2023 | 90 | 90 | 120 | 130 | 90 | 450 | 112.5000000000000000 | 4
+ company1 | 07-07-2023 | 110 | 110 | 120 | 130 | 110 | 360 | 120.0000000000000000 | 3
+ company1 | 07-08-2023 | 130 | | | | | | | 0
+ company1 | 07-09-2023 | 120 | | | | | | | 0
+ company1 | 07-10-2023 | 130 | | | | | | | 0
+ company2 | 07-01-2023 | 50 | 50 | 1400 | 2000 | 50 | 4950 | 1237.5000000000000000 | 4
+ company2 | 07-02-2023 | 2000 | | | | | | | 0
+ company2 | 07-03-2023 | 1500 | | | | | | | 0
+ company2 | 07-04-2023 | 1400 | 1400 | 60 | 1500 | 60 | 2960 | 986.6666666666666667 | 3
+ company2 | 07-05-2023 | 1500 | | | | | | | 0
+ company2 | 07-06-2023 | 60 | 60 | 1200 | 1300 | 60 | 3660 | 915.0000000000000000 | 4
+ company2 | 07-07-2023 | 1100 | 1100 | 1200 | 1300 | 1100 | 3600 | 1200.0000000000000000 | 3
+ company2 | 07-08-2023 | 1300 | | | | | | | 0
+ company2 | 07-09-2023 | 1200 | | | | | | | 0
+ company2 | 07-10-2023 | 1300 | | | | | | | 0
+(20 rows)
+
+-- JOIN case
+CREATE TEMP TABLE t1 (i int, v1 int);
+CREATE TEMP TABLE t2 (j int, v2 int);
+INSERT INTO t1 VALUES(1,10);
+INSERT INTO t1 VALUES(1,11);
+INSERT INTO t1 VALUES(1,12);
+INSERT INTO t2 VALUES(2,10);
+INSERT INTO t2 VALUES(2,11);
+INSERT INTO t2 VALUES(2,12);
+SELECT * FROM t1, t2 WHERE t1.v1 <= 11 AND t2.v2 <= 11;
+ i | v1 | j | v2
+---+----+---+----
+ 1 | 10 | 2 | 10
+ 1 | 10 | 2 | 11
+ 1 | 11 | 2 | 10
+ 1 | 11 | 2 | 11
+(4 rows)
+
+SELECT *, count(*) OVER w FROM t1, t2
+WINDOW w AS (
+ PARTITION BY t1.i
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (A)
+ DEFINE
+ A AS v1 <= 11 AND v2 <= 11
+);
+ i | v1 | j | v2 | count
+---+----+---+----+-------
+ 1 | 10 | 2 | 10 | 1
+ 1 | 10 | 2 | 11 | 1
+ 1 | 10 | 2 | 12 | 0
+ 1 | 11 | 2 | 10 | 1
+ 1 | 11 | 2 | 11 | 1
+ 1 | 11 | 2 | 12 | 0
+ 1 | 12 | 2 | 10 | 0
+ 1 | 12 | 2 | 11 | 0
+ 1 | 12 | 2 | 12 | 0
+(9 rows)
+
+-- WITH case
+WITH wstock AS (
+ SELECT * FROM stock WHERE tdate < '2023-07-08'
+)
+SELECT tdate, price,
+first_value(tdate) OVER w,
+count(*) OVER w
+ FROM wstock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ tdate | price | first_value | count
+------------+-------+-------------+-------
+ 07-01-2023 | 100 | 07-01-2023 | 4
+ 07-02-2023 | 200 | | 0
+ 07-03-2023 | 150 | | 0
+ 07-04-2023 | 140 | | 0
+ 07-05-2023 | 150 | | 0
+ 07-06-2023 | 90 | | 0
+ 07-07-2023 | 110 | | 0
+ 07-01-2023 | 50 | 07-01-2023 | 4
+ 07-02-2023 | 2000 | | 0
+ 07-03-2023 | 1500 | | 0
+ 07-04-2023 | 1400 | | 0
+ 07-05-2023 | 1500 | | 0
+ 07-06-2023 | 60 | | 0
+ 07-07-2023 | 1100 | | 0
+(14 rows)
+
+-- PREV has multiple column reference
+CREATE TEMP TABLE rpr1 (id INTEGER, i SERIAL, j INTEGER);
+INSERT INTO rpr1(id, j) SELECT 1, g*2 FROM generate_series(1, 10) AS g;
+SELECT id, i, j, count(*) OVER w
+ FROM rpr1
+ WINDOW w AS (
+ PARTITION BY id
+ ORDER BY i
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN (START COND+)
+ DEFINE
+ START AS TRUE,
+ COND AS PREV(i + j + 1) < 10
+);
+ id | i | j | count
+----+----+----+-------
+ 1 | 1 | 2 | 3
+ 1 | 2 | 4 | 0
+ 1 | 3 | 6 | 0
+ 1 | 4 | 8 | 0
+ 1 | 5 | 10 | 0
+ 1 | 6 | 12 | 0
+ 1 | 7 | 14 | 0
+ 1 | 8 | 16 | 0
+ 1 | 9 | 18 | 0
+ 1 | 10 | 20 | 0
+(10 rows)
+
+-- Smoke test for larger partitions.
+WITH s AS (
+ SELECT v, count(*) OVER w AS c
+ FROM (SELECT generate_series(1, 5000) v)
+ WINDOW w AS (
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN ( r+ )
+ DEFINE r AS TRUE
+ )
+)
+-- Should be exactly one long match across all rows.
+SELECT * FROM s WHERE c > 0;
+ v | c
+---+------
+ 1 | 5000
+(1 row)
+
+WITH s AS (
+ SELECT v, count(*) OVER w AS c
+ FROM (SELECT generate_series(1, 5000) v)
+ WINDOW w AS (
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN ( r )
+ DEFINE r AS TRUE
+ )
+)
+-- Every row should be its own match.
+SELECT count(*) FROM s WHERE c > 0;
+ count
+-------
+ 5000
+(1 row)
+
+--
+-- Error cases
+--
+-- row pattern definition variable name must not appear more than once
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price),
+ UP AS price > PREV(price)
+);
+ERROR: row pattern definition variable name "up" appears more than once in DEFINE clause
+LINE 11: UP AS price > PREV(price),
+ ^
+-- subqueries in DEFINE clause are not supported
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START LOWPRICE)
+ DEFINE
+ START AS TRUE,
+ LOWPRICE AS price < (SELECT 100)
+);
+ERROR: cannot use subquery in DEFINE expression
+LINE 11: LOWPRICE AS price < (SELECT 100)
+ ^
+-- aggregates in DEFINE clause are not supported
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START LOWPRICE)
+ DEFINE
+ START AS TRUE,
+ LOWPRICE AS price < count(*)
+);
+ERROR: aggregate functions are not allowed in DEFINE
+LINE 11: LOWPRICE AS price < count(*)
+ ^
+-- FRAME must start at current row when row patttern recognition is used
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ERROR: FRAME must start at current row when row patttern recognition is used
+-- SEEK is not supported
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ SEEK
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+ERROR: SEEK is not supported
+LINE 8: SEEK
+ ^
+HINT: Use INITIAL.
+-- PREV's argument must have at least 1 column reference
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(1),
+ DOWN AS price < PREV(1)
+);
+ERROR: row pattern navigation operation's argument must include at least one column reference
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index 1edd9e45eb..f5d33b4d7d 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -98,7 +98,7 @@ test: publication subscription
# Another group of parallel tests
# select_views depends on create_view
# ----------
-test: select_views portals_p2 foreign_key cluster dependency guc bitmapops combocid tsearch tsdicts foreign_data window xmlmap functional_deps advisory_lock indirect_toast equivclass
+test: select_views portals_p2 foreign_key cluster dependency guc bitmapops combocid tsearch tsdicts foreign_data window xmlmap functional_deps advisory_lock indirect_toast equivclass rpr
# ----------
# Another group of parallel tests (JSON related)
diff --git a/src/test/regress/sql/rpr.sql b/src/test/regress/sql/rpr.sql
new file mode 100644
index 0000000000..a46abe6f0f
--- /dev/null
+++ b/src/test/regress/sql/rpr.sql
@@ -0,0 +1,467 @@
+--
+-- Test for row pattern definition clause
+--
+
+CREATE TEMP TABLE stock (
+ company TEXT,
+ tdate DATE,
+ price INTEGER
+);
+INSERT INTO stock VALUES ('company1', '2023-07-01', 100);
+INSERT INTO stock VALUES ('company1', '2023-07-02', 200);
+INSERT INTO stock VALUES ('company1', '2023-07-03', 150);
+INSERT INTO stock VALUES ('company1', '2023-07-04', 140);
+INSERT INTO stock VALUES ('company1', '2023-07-05', 150);
+INSERT INTO stock VALUES ('company1', '2023-07-06', 90);
+INSERT INTO stock VALUES ('company1', '2023-07-07', 110);
+INSERT INTO stock VALUES ('company1', '2023-07-08', 130);
+INSERT INTO stock VALUES ('company1', '2023-07-09', 120);
+INSERT INTO stock VALUES ('company1', '2023-07-10', 130);
+INSERT INTO stock VALUES ('company2', '2023-07-01', 50);
+INSERT INTO stock VALUES ('company2', '2023-07-02', 2000);
+INSERT INTO stock VALUES ('company2', '2023-07-03', 1500);
+INSERT INTO stock VALUES ('company2', '2023-07-04', 1400);
+INSERT INTO stock VALUES ('company2', '2023-07-05', 1500);
+INSERT INTO stock VALUES ('company2', '2023-07-06', 60);
+INSERT INTO stock VALUES ('company2', '2023-07-07', 1100);
+INSERT INTO stock VALUES ('company2', '2023-07-08', 1300);
+INSERT INTO stock VALUES ('company2', '2023-07-09', 1200);
+INSERT INTO stock VALUES ('company2', '2023-07-10', 1300);
+
+SELECT * FROM stock;
+
+-- basic test using PREV
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- basic test using PREV. UP appears twice
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+ UP+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- basic test using PREV. Use '*'
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP* DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- basic test with none greedy pattern
+SELECT company, tdate, price, count(*) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (A A A)
+ DEFINE
+ A AS price >= 140 AND price <= 150
+);
+
+-- last_value() should remain consistent
+SELECT company, tdate, price, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- omit "START" in DEFINE but it is ok because "START AS TRUE" is
+-- implicitly defined. per spec.
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w,
+ nth_value(tdate, 2) OVER w AS nth_second
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- the first row start with less than or equal to 100
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (LOWPRICE UP+ DOWN+)
+ DEFINE
+ LOWPRICE AS price <= 100,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- second row raises 120%
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (LOWPRICE UP+ DOWN+)
+ DEFINE
+ LOWPRICE AS price <= 100,
+ UP AS price > PREV(price) * 1.2,
+ DOWN AS price < PREV(price)
+);
+
+-- using NEXT
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UPDOWN)
+ DEFINE
+ START AS TRUE,
+ UPDOWN AS price > PREV(price) AND price > NEXT(price)
+);
+
+-- using AFTER MATCH SKIP TO NEXT ROW
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ INITIAL
+ PATTERN (START UPDOWN)
+ DEFINE
+ START AS TRUE,
+ UPDOWN AS price > PREV(price) AND price > NEXT(price)
+);
+
+-- match everything
+
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN (A+)
+ DEFINE
+ A AS TRUE
+);
+
+-- backtracking with reclassification of rows
+-- using AFTER MATCH SKIP PAST LAST ROW
+SELECT company, tdate, price, first_value(tdate) OVER w, last_value(tdate) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN (A+ B+)
+ DEFINE
+ A AS price > 100,
+ B AS price > 100
+);
+
+-- backtracking with reclassification of rows
+-- using AFTER MATCH SKIP TO NEXT ROW
+SELECT company, tdate, price, first_value(tdate) OVER w, last_value(tdate) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ INITIAL
+ PATTERN (A+ B+)
+ DEFINE
+ A AS price > 100,
+ B AS price > 100
+);
+
+-- ROWS BETWEEN CURRENT ROW AND offset FOLLOWING
+SELECT company, tdate, price, first_value(tdate) OVER w, last_value(tdate) OVER w,
+ count(*) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+--
+-- Aggregates
+--
+
+-- using AFTER MATCH SKIP PAST LAST ROW
+SELECT company, tdate, price,
+ first_value(price) OVER w,
+ last_value(price) OVER w,
+ max(price) OVER w,
+ min(price) OVER w,
+ sum(price) OVER w,
+ avg(price) OVER w,
+ count(price) OVER w
+FROM stock
+WINDOW w AS (
+PARTITION BY company
+ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+AFTER MATCH SKIP PAST LAST ROW
+INITIAL
+PATTERN (START UP+ DOWN+)
+DEFINE
+START AS TRUE,
+UP AS price > PREV(price),
+DOWN AS price < PREV(price)
+);
+
+-- using AFTER MATCH SKIP TO NEXT ROW
+SELECT company, tdate, price,
+ first_value(price) OVER w,
+ last_value(price) OVER w,
+ max(price) OVER w,
+ min(price) OVER w,
+ sum(price) OVER w,
+ avg(price) OVER w,
+ count(price) OVER w
+FROM stock
+WINDOW w AS (
+PARTITION BY company
+ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+AFTER MATCH SKIP TO NEXT ROW
+INITIAL
+PATTERN (START UP+ DOWN+)
+DEFINE
+START AS TRUE,
+UP AS price > PREV(price),
+DOWN AS price < PREV(price)
+);
+
+-- JOIN case
+CREATE TEMP TABLE t1 (i int, v1 int);
+CREATE TEMP TABLE t2 (j int, v2 int);
+INSERT INTO t1 VALUES(1,10);
+INSERT INTO t1 VALUES(1,11);
+INSERT INTO t1 VALUES(1,12);
+INSERT INTO t2 VALUES(2,10);
+INSERT INTO t2 VALUES(2,11);
+INSERT INTO t2 VALUES(2,12);
+
+SELECT * FROM t1, t2 WHERE t1.v1 <= 11 AND t2.v2 <= 11;
+
+SELECT *, count(*) OVER w FROM t1, t2
+WINDOW w AS (
+ PARTITION BY t1.i
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (A)
+ DEFINE
+ A AS v1 <= 11 AND v2 <= 11
+);
+
+-- WITH case
+WITH wstock AS (
+ SELECT * FROM stock WHERE tdate < '2023-07-08'
+)
+SELECT tdate, price,
+first_value(tdate) OVER w,
+count(*) OVER w
+ FROM wstock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- PREV has multiple column reference
+CREATE TEMP TABLE rpr1 (id INTEGER, i SERIAL, j INTEGER);
+INSERT INTO rpr1(id, j) SELECT 1, g*2 FROM generate_series(1, 10) AS g;
+SELECT id, i, j, count(*) OVER w
+ FROM rpr1
+ WINDOW w AS (
+ PARTITION BY id
+ ORDER BY i
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN (START COND+)
+ DEFINE
+ START AS TRUE,
+ COND AS PREV(i + j + 1) < 10
+);
+
+-- Smoke test for larger partitions.
+WITH s AS (
+ SELECT v, count(*) OVER w AS c
+ FROM (SELECT generate_series(1, 5000) v)
+ WINDOW w AS (
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN ( r+ )
+ DEFINE r AS TRUE
+ )
+)
+-- Should be exactly one long match across all rows.
+SELECT * FROM s WHERE c > 0;
+
+WITH s AS (
+ SELECT v, count(*) OVER w AS c
+ FROM (SELECT generate_series(1, 5000) v)
+ WINDOW w AS (
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP PAST LAST ROW
+ INITIAL
+ PATTERN ( r )
+ DEFINE r AS TRUE
+ )
+)
+-- Every row should be its own match.
+SELECT count(*) FROM s WHERE c > 0;
+
+--
+-- Error cases
+--
+
+-- row pattern definition variable name must not appear more than once
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price),
+ UP AS price > PREV(price)
+);
+
+-- subqueries in DEFINE clause are not supported
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START LOWPRICE)
+ DEFINE
+ START AS TRUE,
+ LOWPRICE AS price < (SELECT 100)
+);
+
+-- aggregates in DEFINE clause are not supported
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START LOWPRICE)
+ DEFINE
+ START AS TRUE,
+ LOWPRICE AS price < count(*)
+);
+
+-- FRAME must start at current row when row patttern recognition is used
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- SEEK is not supported
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ SEEK
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(price),
+ DOWN AS price < PREV(price)
+);
+
+-- PREV's argument must have at least 1 column reference
+SELECT company, tdate, price, first_value(price) OVER w, last_value(price) OVER w
+ FROM stock
+ WINDOW w AS (
+ PARTITION BY company
+ ORDER BY tdate
+ ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ AFTER MATCH SKIP TO NEXT ROW
+ INITIAL
+ PATTERN (START UP+ DOWN+)
+ DEFINE
+ START AS TRUE,
+ UP AS price > PREV(1),
+ DOWN AS price < PREV(1)
+);
--
2.25.1
----Next_Part(Sat_Dec_21_18_20_04_2024_526)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="v25-0008-Row-pattern-recognition-patch-typedefs.list.patch"
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- place = EMSG;
- optind++;
-
if (has_arg == required_argument)
return BADCH;
optarg = NULL;
--
2.53.0
--=-=-=--
^ permalink raw reply [nested|flat] 467+ messages in thread
* [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument
@ 2026-07-21 09:49 Japin Li <japinli@hotmail.com>
0 siblings, 0 replies; 467+ messages in thread
From: Japin Li @ 2026-07-21 09:49 UTC (permalink / raw)
Move optind++ and place = EMSG before the BADARG return in the long option
path to match short option behavior and ensure consistent state.
---
src/port/getopt_long.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/port/getopt_long.c b/src/port/getopt_long.c
index 20953db9db1..a488a647889 100644
--- a/src/port/getopt_long.c
+++ b/src/port/getopt_long.c
@@ -145,6 +145,9 @@ retry:
}
else
{
+ place = EMSG;
+ optind++;
+
if (optstring[0] == ':')
return BADARG;
@@ -153,9 +156,6 @@ retry:
"%s: option requires an argument -- %s\n",
argv[0], place);
- 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>
2026-07-22 01:47 ` Re: Fix optind handling inconsistency in getopt_long() for missing argument Michael Paquier <michael@paquier.xyz>
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-21 10:16 Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
@ 2026-07-22 01:47 ` 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>
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
* Re: Fix optind handling inconsistency in getopt_long() for missing argument
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 ` 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>
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-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 ` 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>
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-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 ` 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>
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-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 ` Japin Li <japinli@hotmail.com>
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
* [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
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 --
2024-12-21 06:19 [PATCH v25 7/9] Row pattern recognition patch (tests). Tatsuo Ishii <ishii@postgresql.org>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-07-21 09:49 [PATCH v1] Fix optind handling inconsistency in getopt_long() for missing argument Japin Li <japinli@hotmail.com>
2026-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