aboutsummaryrefslogtreecommitdiffhomepage
path: root/tag-util.c
Commit message (Collapse)AuthorAge
* parse_tag_line: use enum for return value.Gravatar David Bremner2012-12-26
| | | | | This is essentially cosmetic, since success=0 is promised by the comments in tag-utils.h.
* tag-utils: use the tag_opt_list_t as talloc context, if possible.Gravatar David Bremner2012-12-22
| | | | | | | | | The memory usage discipline of tag_op_list_t is never to free the internal array of tag operations before freeing the whole list, so it makes sense to take advantage of hierarchical de-allocation by talloc. By not relying on the context passed into tag_parse_line, we can allow tag_op_list_t structures to live longer than that context.
* tag-util: optimization of tag applicationGravatar David Bremner2012-12-09
| | | | | | | | | The idea is not to bother with restore operations if they don't change the set of tags. This is actually a relatively common case. In order to avoid fancy datastructures, this method is quadratic in the number of tags; at least on my mail database this doesn't seem to be a big problem.
* tag-util.[ch]: New files for common tagging routinesGravatar David Bremner2012-12-09
These are meant to be shared between notmuch-tag and notmuch-restore. The bulk of the routines implement a "tag operation list" abstract data type act as a structured representation of a set of tag operations (typically coming from a single tag command or line of input).