diff options
author | Carl Worth <cworth@cworth.org> | 2009-10-23 06:04:57 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-10-23 06:04:57 -0700 |
commit | ce5d78296251b529838df0dbd4dc3b9a90030924 (patch) | |
tree | 241c4497dd9a32bcfd6d9fae4ecaf0d4a455c7af | |
parent | 6ccdffcd87b8af0c1c683588612169f5dc776644 (diff) |
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).
-rw-r--r-- | message.cc | 9 | ||||
-rw-r--r-- | notmuch.h | 4 |
2 files changed, 9 insertions, 4 deletions
@@ -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; @@ -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); |