mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
lib: handle xapian exception in n_m_remove_all_tags
At least the exception we already catch should be reported properly.
This commit is contained in:
parent
a4ac9941a8
commit
a2b90dc084
3 changed files with 11 additions and 6 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1635,8 +1635,10 @@ notmuch_message_remove_tag (notmuch_message_t *message, const char *tag);
|
|||
* See notmuch_message_freeze for an example showing how to safely
|
||||
* replace tag values.
|
||||
*
|
||||
* NOTMUCH_STATUS_READ_ONLY_DATABASE: Database was opened in read-only
|
||||
* mode so message cannot be modified.
|
||||
* @retval #NOTMUCH_STATUS_READ_ONLY_DATABASE: Database was opened in
|
||||
* read-only mode so message cannot be modified.
|
||||
* @retval #NOTMUCH_STATUS_XAPIAN_EXCEPTION: an execption was thrown
|
||||
* accessing the database.
|
||||
*/
|
||||
notmuch_status_t
|
||||
notmuch_message_remove_all_tags (notmuch_message_t *message);
|
||||
|
|
|
@ -583,7 +583,6 @@ EOF
|
|||
test_expect_equal_file EXPECTED OUTPUT
|
||||
|
||||
test_begin_subtest "Handle removing all tags with closed db"
|
||||
test_subtest_known_broken
|
||||
cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR}
|
||||
{
|
||||
notmuch_status_t status;
|
||||
|
|
Loading…
Reference in a new issue