X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fmessage.cc;h=49519f1e63e40830ac123373c6e24bf813afbcf1;hb=4b0327004a3f9a36352b81a5b778740d68bf3078;hp=a410394d3d5ac8c2d7772a6b3d1d65762c24ed85;hpb=c3c52e464b8b0e024a01feacfeb34cc4ce1f3d62;p=notmuch diff --git a/lib/message.cc b/lib/message.cc index a410394d..49519f1e 100644 --- a/lib/message.cc +++ b/lib/message.cc @@ -37,6 +37,7 @@ struct _notmuch_message { char *filename; notmuch_message_file_t *message_file; notmuch_message_list_t *replies; + unsigned long flags; Xapian::Document doc; }; @@ -108,6 +109,7 @@ _notmuch_message_create (const void *talloc_owner, message->doc_id = doc_id; message->frozen = 0; + message->flags = 0; /* Each of these will be lazily created as needed. */ message->message_id = NULL; @@ -316,9 +318,9 @@ _notmuch_message_get_in_reply_to (notmuch_message_t *message) in_reply_to = *i; if (i != message->doc.termlist_end () && - strncmp ((*i).c_str (), prefix, prefix_len)) + strncmp ((*i).c_str (), prefix, prefix_len) == 0) { - INTERNAL_ERROR ("Message %s has duplicate In-Reply-To IDs: %s and %s\n" + INTERNAL_ERROR ("Message %s has duplicate In-Reply-To IDs: %s and %s\n", notmuch_message_get_message_id (message), message->in_reply_to, (*i).c_str () + prefix_len); @@ -445,6 +447,23 @@ notmuch_message_get_filename (notmuch_message_t *message) return message->filename; } +notmuch_bool_t +notmuch_message_get_flag (notmuch_message_t *message, + notmuch_message_flag_t flag) +{ + return message->flags & (1 << flag); +} + +void +notmuch_message_set_flag (notmuch_message_t *message, + notmuch_message_flag_t flag, notmuch_bool_t enable) +{ + if (enable) + message->flags |= (1 << flag); + else + message->flags &= ~(1 << flag); +} + time_t notmuch_message_get_date (notmuch_message_t *message) {