From a2464342991ccd957e252c98fa7f383fcd873bae Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sun, 27 Mar 2011 12:46:55 +0100 Subject: [PATCH] [parseopt] Add support for boolean options Signed-off-by: Michael Brown --- src/core/parseopt.c | 15 +++++++++++++++ src/include/ipxe/parseopt.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/core/parseopt.c b/src/core/parseopt.c index 451ebaf54..24a576244 100644 --- a/src/core/parseopt.c +++ b/src/core/parseopt.c @@ -125,6 +125,21 @@ int parse_image ( const char *text, struct image **image ) { return 0; } +/** + * Parse flag + * + * @v text Text (ignored) + * @ret flag Flag to set + * @ret rc Return status code + */ +int parse_flag ( const char *text __unused, int *flag ) { + + /* Set flag */ + *flag = 1; + + return 0; +} + /** * Print command usage message * diff --git a/src/include/ipxe/parseopt.h b/src/include/ipxe/parseopt.h index 4cad3cca6..eed40b769 100644 --- a/src/include/ipxe/parseopt.h +++ b/src/include/ipxe/parseopt.h @@ -118,6 +118,7 @@ extern int parse_string ( const char *text, const char **value ); extern int parse_integer ( const char *text, unsigned int *value ); extern int parse_netdev ( const char *text, struct net_device **netdev ); extern int parse_image ( const char *text, struct image **image ); +extern int parse_flag ( const char *text __unused, int *flag ); extern void print_usage ( struct command_descriptor *cmd, char **argv ); extern int parse_options ( int argc, char **argv, struct command_descriptor *cmd, void *opts );