[PATCH] cli: bail out and propagate tagging errors in notmuch tag

Tomi Ollila tomi.ollila at iki.fi
Tue Jan 8 15:51:08 PST 2013


On Tue, Jan 08 2013, Jani Nikula wrote:

> Checking and propagating tag_op_list_apply() errors is especially
> important with batch tagging, as the processing of the batch input
> would not stop otherwise. Additionally this sets the exit code, which
> is useful in scripts.
> ---

LGTM.

Tomi


>  notmuch-tag.c |    7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/notmuch-tag.c b/notmuch-tag.c
> index 4272426..16b1668 100644
> --- a/notmuch-tag.c
> +++ b/notmuch-tag.c
> @@ -97,6 +97,7 @@ tag_query (void *ctx, notmuch_database_t *notmuch, const char *query_string,
>      notmuch_query_t *query;
>      notmuch_messages_t *messages;
>      notmuch_message_t *message;
> +    int ret = 0;
>  
>      /* Optimize the query so it excludes messages that already have
>       * the specified set of tags. */
> @@ -119,13 +120,15 @@ tag_query (void *ctx, notmuch_database_t *notmuch, const char *query_string,
>  	 notmuch_messages_valid (messages) && ! interrupted;
>  	 notmuch_messages_move_to_next (messages)) {
>  	message = notmuch_messages_get (messages);
> -	tag_op_list_apply (message, tag_ops, flags | TAG_FLAG_PRE_OPTIMIZED);
> +	ret = tag_op_list_apply (message, tag_ops, flags | TAG_FLAG_PRE_OPTIMIZED);
>  	notmuch_message_destroy (message);
> +	if (ret)
> +	    break;
>      }
>  
>      notmuch_query_destroy (query);
>  
> -    return interrupted;
> +    return ret || interrupted;
>  }
>  
>  static int
> -- 
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list