typedef enum {
TAG_PARSE_OUT_OF_MEMORY = -1,
- /* Line parsed successfuly. */
+ /* Line parsed successfully. */
TAG_PARSE_SUCCESS = 0,
/* Line has a syntax error */
* Output Parameters:
* ops contains a list of tag operations
* query_str the search terms.
+ *
+ * The ops argument is not cleared.
*/
tag_parse_status_t
parse_tag_command_line (void *ctx, int argc, char **argv,
char **query_str, tag_op_list_t *ops);
+/*
+ * Test tags for some forbidden cases.
+ *
+ * Relax the checks if 'remove' is true to allow removal of previously
+ * added forbidden tags.
+ *
+ * return: NULL if OK,
+ * explanatory message otherwise.
+ */
+const char *
+illegal_tag (const char *tag, bool remove);
+
/*
* Create an empty list of tag operations
*
tag_op_list_create (void *ctx);
/*
- * Add a tag operation (delete iff remove == TRUE) to a list.
+ * Add a tag operation (delete iff remove == true) to a list.
* The list is expanded as necessary.
*/
int
tag_op_list_append (tag_op_list_t *list,
const char *tag,
- notmuch_bool_t remove);
+ bool remove);
/*
* Apply a list of tag operations, in order, to a given message.
* Is the i'th tag operation a remove?
*/
-notmuch_bool_t
+bool
tag_op_list_isremove (const tag_op_list_t *list, size_t i);
#endif