summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--message.cc9
-rw-r--r--notmuch.h4
2 files changed, 9 insertions, 4 deletions
diff --git a/message.cc b/message.cc
index ce600af..65e5ad7 100644
--- a/message.cc
+++ b/message.cc
@@ -215,10 +215,11 @@ notmuch_message_get_message_id (notmuch_message_t *message)
i = message->doc.termlist_begin ();
i.skip_to (_find_prefix ("msgid"));
- /* XXX: This should really be an internal error, but we'll need to
- * fix the add_message side of things first. */
- if (i == message->doc.termlist_end ())
- return NULL;
+ if (i == message->doc.termlist_end ()) {
+ fprintf (stderr, "Internal error: Message with document ID of %d has no message ID.\n",
+ message->doc_id);
+ exit (1);
+ }
message->message_id = talloc_strdup (message, (*i).c_str () + 1);
return message->message_id;
diff --git a/notmuch.h b/notmuch.h
index 57ff8c8..f568bc0 100644
--- a/notmuch.h
+++ b/notmuch.h
@@ -338,6 +338,10 @@ notmuch_results_destroy (notmuch_results_t *results);
* modified by the caller and will only be valid for as long as the
* message is valid, (which is until the query from which it derived
* is destroyed).
+ *
+ * This function will not return NULL since Notmuch ensures that every
+ * message has a unique message ID, (Notmuch will generate an ID for a
+ * message if the original file does not contain one).
*/
const char *
notmuch_message_get_message_id (notmuch_message_t *message);