With the recent improvements to the handling of message IDs we
"know" that a NULL message ID is impossible, (so we simply
abort if the impossible happens).
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;
* 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);