[pacman-dev] [PATCH v3] libmakepkg: add optional argument support to parseopts

Allan McRae allan at archlinux.org
Fri Nov 1 11:55:34 UTC 2019


On 24/10/19 10:38 am, Ethan Sommer wrote:
> Adds a "?" suffix that can be used to indicate that an option's argument is
> optional.
> 
> This allows options to have a default behaviour when the user doesn't
> specify one, e.g.: --color=[when] being able to behave like --color=auto
> when only --color is passed
> 
> Options with optional arguments given on the command line will be returned
> in the form "--opt=optarg" and "-o=optarg". Despite that not being the
> syntax for passing an argument with a shortopt (trying to pass -o=foo
> would make -o's argument "=foo"), this is done to allow the caller to split
> the option and its optarg easily
> 

Again...  devils advocate.  You give an example of '--colour=auto' being
equivalent to '--color'.  Why would the default when the options is not
specified not be default in the codebase?

Why not follow the GNU extension to getopt and use '::' for option
arguments instead of '?'

Allan


More information about the pacman-dev mailing list