Add new FLAG type to command parser api

It's just like boolean but doesn't advertise that it can
take the form --flag=false.  This makes the --help output
for --help say --help instead of --help={true|false}
calculate-0.9.5
Ray Strode 16 years ago
parent 253487ba7c
commit bfaa6f7c60

@ -89,7 +89,7 @@ main (int argc,
command_parser = ply_command_parser_new ("plymouth", "Boot splash control client");
ply_command_parser_add_options (command_parser,
"help", "This help message", PLY_COMMAND_OPTION_TYPE_BOOLEAN,
"help", "This help message", PLY_COMMAND_OPTION_TYPE_FLAG,
"quit", "Tell boot daemon to quit", PLY_COMMAND_OPTION_TYPE_BOOLEAN,
"sysinit", "Tell boot daemon root filesystem is mounted read-write", PLY_COMMAND_OPTION_TYPE_BOOLEAN,
"show-splash", "Show splash screen", PLY_COMMAND_OPTION_TYPE_BOOLEAN,

@ -421,6 +421,7 @@ ply_command_parser_get_options_for_command (ply_command_parser_t *parser,
{
switch (option->type)
{
case PLY_COMMAND_OPTION_TYPE_FLAG:
case PLY_COMMAND_OPTION_TYPE_BOOLEAN:
{
bool *option_result;
@ -541,7 +542,8 @@ ply_command_option_read_arguments (ply_command_option_t *option,
if (node == NULL)
{
if (option->type == PLY_COMMAND_OPTION_TYPE_BOOLEAN)
if (option->type == PLY_COMMAND_OPTION_TYPE_BOOLEAN ||
option->type == PLY_COMMAND_OPTION_TYPE_FLAG)
{
option->result.as_boolean = true;
return true;
@ -561,6 +563,7 @@ ply_command_option_read_arguments (ply_command_option_t *option,
switch (option->type)
{
case PLY_COMMAND_OPTION_TYPE_FLAG:
case PLY_COMMAND_OPTION_TYPE_BOOLEAN:
option->result.as_boolean = (bool) rpmatch (argument);
return true;
@ -817,7 +820,7 @@ main (int argc,
parser = ply_command_parser_new (argv[0], "Test Program");
ply_command_parser_add_options (parser,
"help", "This help message", PLY_COMMAND_OPTION_TYPE_BOOLEAN,
"help", "This help message", PLY_COMMAND_OPTION_TYPE_FLAG,
NULL);
ply_command_parser_add_command (parser,

@ -32,7 +32,8 @@ typedef void (* ply_command_handler_t) (void *data,
typedef enum
{
PLY_COMMAND_OPTION_TYPE_BOOLEAN = 0,
PLY_COMMAND_OPTION_TYPE_FLAG = 0,
PLY_COMMAND_OPTION_TYPE_BOOLEAN,
PLY_COMMAND_OPTION_TYPE_STRING,
PLY_COMMAND_OPTION_TYPE_INTEGER
} ply_command_option_type_t;

Loading…
Cancel
Save