summaryrefslogtreecommitdiffstats
path: root/src/libply
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2008-06-08 17:44:36 -0400
committerRay Strode <rstrode@redhat.com>2008-06-08 17:44:36 -0400
commitbfaa6f7c60dabbdfe35abef344f2fad833d43f13 (patch)
treeca505edf543105a8ba40130040db631f71bfbc8c /src/libply
parent253487ba7cb8dd9120a4717c71b773e2b3ec9662 (diff)
downloadplymouth-bfaa6f7c60dabbdfe35abef344f2fad833d43f13.tar.gz
plymouth-bfaa6f7c60dabbdfe35abef344f2fad833d43f13.tar.xz
plymouth-bfaa6f7c60dabbdfe35abef344f2fad833d43f13.zip
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}
Diffstat (limited to 'src/libply')
-rw-r--r--src/libply/ply-command-parser.c7
-rw-r--r--src/libply/ply-command-parser.h3
2 files changed, 7 insertions, 3 deletions
diff --git a/src/libply/ply-command-parser.c b/src/libply/ply-command-parser.c
index 2516554..2dc26c1 100644
--- a/src/libply/ply-command-parser.c
+++ b/src/libply/ply-command-parser.c
@@ -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,
diff --git a/src/libply/ply-command-parser.h b/src/libply/ply-command-parser.h
index 75c91fb..38078e4 100644
--- a/src/libply/ply-command-parser.h
+++ b/src/libply/ply-command-parser.h
@@ -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;