Fix notmuch_message_get_message_id to never return NULL.

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).
This commit is contained in:
Carl Worth 2009-10-23 06:04:57 -07:00
parent 6ccdffcd87
commit ce5d782962
2 changed files with 9 additions and 4 deletions

View file

@ -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;

View file

@ -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);