Re: add non-option reordering to in-tree getopt_long
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, noah@leadboat.com, pgsql-hackers@postgresql.org
Date: 2023-07-14T05:02:28Z
Lists: pgsql-hackers
On Thu, Jul 13, 2023 at 09:38:42PM -0700, Nathan Bossart wrote: > I did notice this, but I had the opposite reaction. Ahah, well ;) > Take the following examples of client programs that accept one non-option: > > ~$ pg_resetwal a b c > pg_resetwal: error: too many command-line arguments (first is "b") > pg_resetwal: hint: Try "pg_resetwal --help" for more information. > > Yet pg_ctl gives: > > ~$ pg_ctl start a b c > pg_ctl: too many command-line arguments (first is "start") > Try "pg_ctl --help" for more information. > > In this example, isn't "a" the first extra non-option that should be > reported? Good point. This is interpreting "first" as being the first option that's invalid. Here my first impression was that pg_ctl got that right, where "first" refers to the first subcommand that would be valid. Objection withdrawn. -- Michael
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