diff options
| author | Ray Strode <rstrode@redhat.com> | 2008-06-08 17:44:36 -0400 |
|---|---|---|
| committer | Ray Strode <rstrode@redhat.com> | 2008-06-08 17:44:36 -0400 |
| commit | bfaa6f7c60dabbdfe35abef344f2fad833d43f13 (patch) | |
| tree | ca505edf543105a8ba40130040db631f71bfbc8c /src/libply | |
| parent | 253487ba7cb8dd9120a4717c71b773e2b3ec9662 (diff) | |
| download | plymouth-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.c | 7 | ||||
| -rw-r--r-- | src/libply/ply-command-parser.h | 3 |
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; |
