Add pointer to boolean .present field to opt desc, which (if non-NULL)
will be set to TRUE if the argument in question is present on the
command line. Unchanged otherwise.
if (arg_desc->opt_position) {
if (pos_arg_counter == pos_arg_index) {
*arg_desc->opt_position = arg_str;
+ if (arg_desc->present)
+ *arg_desc->present = TRUE;
return TRUE;
}
pos_arg_counter++;
else
INTERNAL_ERROR ("unknown or unhandled option \"%s\"", try->name);
- if (opt_status)
- return opt_index+1;
- else
+ if (! opt_status)
return -1;
+
+ if (try->present)
+ *try->present = TRUE;
+
+ return opt_index+1;
}
return -1;
}
/* 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. */
+ notmuch_bool_t *present;
+
/* Must be set for opt_keyword and opt_flags. */
const struct notmuch_keyword *keywords;
} notmuch_opt_desc_t;