aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/database.cc4
-rw-r--r--lib/notmuch.h21
2 files changed, 18 insertions, 7 deletions
diff --git a/lib/database.cc b/lib/database.cc
index 205d0360..dc967c8c 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -1201,14 +1201,16 @@ notmuch_database_remove_message (notmuch_database_t *notmuch,
strncmp ((*j).c_str (), prefix, strlen (prefix)))
{
db->delete_document (document.get_docid ());
+ status = NOTMUCH_STATUS_SUCCESS;
} else {
db->replace_document (document.get_docid (), document);
+ status = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID;
}
}
talloc_free (local);
- return NOTMUCH_STATUS_SUCCESS;
+ return status;
}
notmuch_tags_t *
diff --git a/lib/notmuch.h b/lib/notmuch.h
index 52078e81..110061c2 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -237,12 +237,21 @@ notmuch_database_add_message (notmuch_database_t *database,
/* Remove a message from the given notmuch database.
*
- * Note that the only this particular filename association is removed
- * from the database. If the same message (as determined by the
- * message ID) is still available via other filenames, then the
- * message will persist in the database for those filenames. When the
- * last filename is removed for a particular message, the database
- * content for that message will be entirely removed.
+ * Note that only this particular filename association is removed from
+ * the database. If the same message (as determined by the message ID)
+ * is still available via other filenames, then the message will
+ * persist in the database for those filenames. When the last filename
+ * is removed for a particular message, the database content for that
+ * message will be entirely removed.
+ *
+ * Return value:
+ *
+ * NOTMUCH_STATUS_SUCCESS: The last filename was removed and the
+ * message was removed from the database.
+ *
+ * NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID: This filename was removed but
+ * the message persists in the database with at least one other
+ * filename.
*/
notmuch_status_t
notmuch_database_remove_message (notmuch_database_t *database,