X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fmessage.cc;h=64798413d957d89c61ba8ed9f38b7b0025ae1c48;hb=c477d7ce311335fda16a15e624ca3931d79144cf;hp=8e090aa316a70fb2ce670f35c9f2c174b069cb56;hpb=b7572ceb143773a988a4852ac3b7c85254009d0e;p=notmuch diff --git a/lib/message.cc b/lib/message.cc index 8e090aa3..64798413 100644 --- a/lib/message.cc +++ b/lib/message.cc @@ -96,7 +96,7 @@ static void _log_xapian_exception (const char *where, notmuch_message_t *message, const Xapian::Error error) { notmuch_database_t *notmuch = notmuch_message_get_database (message); _notmuch_database_log (notmuch, - "A Xapian exception occurred %s retrieving %s : %s\n", + "A Xapian exception occurred at %s: %s\n", where, error.get_msg ().c_str ()); notmuch->exception_reported = true; @@ -2071,16 +2071,20 @@ notmuch_message_remove_all_tags (notmuch_message_t *message) status = _notmuch_database_ensure_writable (message->notmuch); if (status) return status; + tags = notmuch_message_get_tags (message); + if (! tags) + return NOTMUCH_STATUS_XAPIAN_EXCEPTION; - for (tags = notmuch_message_get_tags (message); + for (; notmuch_tags_valid (tags); notmuch_tags_move_to_next (tags)) { tag = notmuch_tags_get (tags); private_status = _notmuch_message_remove_term (message, "tag", tag); if (private_status) { - INTERNAL_ERROR ("_notmuch_message_remove_term return unexpected value: %d\n", - private_status); + return COERCE_STATUS (private_status, + "_notmuch_message_remove_term return unexpected value: %d\n", + private_status); } } @@ -2201,8 +2205,10 @@ notmuch_message_reindex (notmuch_message_t *message, /* Save in case we need to delete message */ orig_thread_id = notmuch_message_get_thread_id (message); if (! orig_thread_id) { - /* XXX TODO: make up new error return? */ - INTERNAL_ERROR ("message without thread-id"); + /* the following is correct as long as there is only one reason + n_m_get_thread_id returns NULL + */ + return NOTMUCH_STATUS_XAPIAN_EXCEPTION; } /* strdup it because the metadata may be invalidated */