Re: add non-option reordering to in-tree getopt_long
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: michael@paquier.xyz, noah@leadboat.com, pgsql-hackers@postgresql.org
Date: 2023-07-13T03:49:03Z
Lists: pgsql-hackers
Attachments
On Tue, Jul 11, 2023 at 09:32:32AM -0700, Nathan Bossart wrote: > Sure. І did it this way in v7. After a couple more small edits, I've committed this. I looked through all uses of getopt_long() in PostgreSQL earlier today, and of the programs that accepted non-options, most accepted only one, some others accepted 2-3, and ecpg and pg_regress accepted any number. Given this analysis, I'm not too worried about the O(n^2) behavior that the patch introduces. You'd likely need to provide an enormous number of non-options for it to be noticeable, and I'm dubious such use-cases exist. During my analysis, I noticed that pg_ctl contains a workaround for the lack of argument reordering. I think this can now be removed. Patch attached. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
Commits
-
Simplify option handling in pg_ctl.
- 03d1080d8a95 17.0 landed
-
Teach in-tree getopt_long() to move non-options to the end of argv.
- 411b72034300 17.0 landed