X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=command-line-arguments.h;h=606e5cd005f8e60326a48a7e9501263c343aaaae;hp=76ca4dcbb276714a15b8524fbe106ffd6ba2fc78;hb=HEAD;hpb=0f314c0c99befea599a68bea51d759b4133efef6 diff --git a/command-line-arguments.h b/command-line-arguments.h index 76ca4dcb..606e5cd0 100644 --- a/command-line-arguments.h +++ b/command-line-arguments.h @@ -26,32 +26,39 @@ typedef struct notmuch_opt_desc { const char **opt_string; const char **opt_position; + /* for opt_keyword only: if no matching arguments were found, and + * keyword_no_arg_value is set, then use keyword_no_arg_value instead. */ + const char *keyword_no_arg_value; + /* Must be set except for opt_inherit and opt_position. */ const char *name; /* Optional, if non-NULL, set to true if the option is present. */ bool *present; + /* Optional, allow empty strings for opt_string. */ + bool allow_empty; + /* Must be set for opt_keyword and opt_flags. */ const struct notmuch_keyword *keywords; } notmuch_opt_desc_t; /* - This is the main entry point for command line argument parsing. - - Parse command line arguments according to structure options, - starting at position opt_index. - - All output of parsed values is via pointers in options. - - Parsing stops at -- (consumed) or at the (k+1)st argument - not starting with -- (a "positional argument") if options contains - k positional argument descriptors. - - Returns the index of first non-parsed argument, or -1 in case of error. - -*/ + * This is the main entry point for command line argument parsing. + * + * Parse command line arguments according to structure options, + * starting at position opt_index. + * + * All output of parsed values is via pointers in options. + * + * Parsing stops at -- (consumed) or at the (k+1)st argument + * not starting with -- (a "positional argument") if options contains + * k positional argument descriptors. + * + * Returns the index of first non-parsed argument, or -1 in case of error. + * + */ int parse_arguments (int argc, char **argv, const notmuch_opt_desc_t *options, int opt_index); @@ -64,12 +71,12 @@ parse_arguments (int argc, char **argv, const notmuch_opt_desc_t *options, int o */ int -parse_option (int argc, char **argv, const notmuch_opt_desc_t* options, int opt_index); +parse_option (int argc, char **argv, const notmuch_opt_desc_t *options, int opt_index); bool parse_position_arg (const char *arg, int position_arg_index, - const notmuch_opt_desc_t* options); + const notmuch_opt_desc_t *options); #endif