]> git.notmuchmail.org Git - notmuch/blobdiff - command-line-arguments.h
cli: allow empty strings for notmuch insert --folder argument
[notmuch] / command-line-arguments.h
index ff51abceb117dbac79da53c728c8555d56d37263..c0228f7cb634dca5f34182a53e40d0803dc644c5 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef NOTMUCH_OPTS_H
 #define NOTMUCH_OPTS_H
 
+#include <stdbool.h>
+
 #include "notmuch.h"
 
 /*
@@ -17,7 +19,7 @@ typedef struct notmuch_keyword {
 typedef struct notmuch_opt_desc {
     /* One and only one of opt_* must be set. */
     const struct notmuch_opt_desc *opt_inherit;
-    notmuch_bool_t *opt_bool;
+    bool *opt_bool;
     int *opt_int;
     int *opt_keyword;
     int *opt_flags;
@@ -27,6 +29,12 @@ typedef struct notmuch_opt_desc {
     /* 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;
@@ -61,7 +69,7 @@ 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);
 
-notmuch_bool_t
+bool
 parse_position_arg (const char *arg,
                    int position_arg_index,
                    const notmuch_opt_desc_t* options);