X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fmessage.cc;h=e0b8a8e111925342e82d38d26ff8064b551915f0;hb=aa46a34408709a6434c8b2bfa438de9b33c04211;hp=5f8db50fb78b3df8157761387ee30cce4c83f76d;hpb=d025e89ac7ccecc9a6bbea5e867fcc15589f81b5;p=notmuch diff --git a/lib/message.cc b/lib/message.cc index 5f8db50f..e0b8a8e1 100644 --- a/lib/message.cc +++ b/lib/message.cc @@ -146,7 +146,7 @@ _notmuch_message_create (const void *talloc_owner, } /* Create a new notmuch_message_t object for a specific message ID, - * (which may or may not already exist in the databas). + * (which may or may not already exist in the database). * * The 'notmuch' database will be the talloc owner of the returned * message. @@ -285,7 +285,8 @@ _notmuch_message_get_in_reply_to (notmuch_message_t *message) i = message->doc.termlist_begin (); i.skip_to (prefix); - in_reply_to = *i; + if (i != message->doc.termlist_end ()) + in_reply_to = *i; /* It's perfectly valid for a message to have no In-Reply-To * header. For these cases, we return an empty string. */ @@ -332,10 +333,10 @@ notmuch_message_get_thread_id (notmuch_message_t *message) return message->thread_id; i = message->doc.termlist_begin (); - i.skip_to (prefix); - id = *i; + if (i != message->doc.termlist_end ()) + id = *i; if (i == message->doc.termlist_end () || id[0] != *prefix) INTERNAL_ERROR ("Message with document ID of %d has no thread ID.\n", @@ -466,7 +467,7 @@ notmuch_message_get_tags (notmuch_message_t *message) i.skip_to (prefix); - while (1) { + while (i != end) { tag = *i; if (tag.empty () || tag[0] != *prefix) @@ -490,7 +491,7 @@ _notmuch_message_set_date (notmuch_message_t *message, /* GMime really doesn't want to see a NULL date, so protect its * sensibilities. */ - if (date == NULL) + if (date == NULL || *date == '\0') time_value = 0; else time_value = g_mime_utils_header_decode_date (date, NULL);