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,
{
switch (option->type)
{
+ case PLY_COMMAND_OPTION_TYPE_FLAG:
case PLY_COMMAND_OPTION_TYPE_BOOLEAN:
{
bool *option_result;
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;
switch (option->type)
{
+ case PLY_COMMAND_OPTION_TYPE_FLAG:
case PLY_COMMAND_OPTION_TYPE_BOOLEAN:
option->result.as_boolean = (bool) rpmatch (argument);
return true;
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,
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;