X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=message.cc;fp=message.cc;h=dfd55d596e21af0cac4d79416f9029644a5f4d75;hp=169b20c193695c16744744233aaac041292e2dfb;hb=bf78a89196b251c2465f6cefa8198f22c87ff23d;hpb=b39ebca8c97fb19c52e46a2b9565c2d9fa0707d0 diff --git a/message.cc b/message.cc index 169b20c1..dfd55d59 100644 --- a/message.cc +++ b/message.cc @@ -232,26 +232,39 @@ notmuch_message_get_message_id (notmuch_message_t *message) return message->message_id; } -const char * -_notmuch_message_get_subject (notmuch_message_t *message) +static void +_notmuch_message_ensure_message_file (notmuch_message_t *message) { - if (! message->message_file) { - notmuch_message_file_t *message_file; - const char *filename; + const char *filename; - filename = notmuch_message_get_filename (message); - if (unlikely (filename == NULL)) - return NULL; + if (message->message_file) + return; - message_file = _notmuch_message_file_open_ctx (message, filename); - if (unlikely (message_file == NULL)) - return NULL; + filename = notmuch_message_get_filename (message); + if (unlikely (filename == NULL)) + return; - message->message_file = message_file; - } + message->message_file = _notmuch_message_file_open_ctx (message, filename); +} + +const char * +notmuch_message_get_header (notmuch_message_t *message, const char *header) +{ + _notmuch_message_ensure_message_file (message); + if (message->message_file == NULL) + return NULL; + + return notmuch_message_file_get_header (message->message_file, header); +} + +const char * +notmuch_message_get_all_headers (notmuch_message_t *message) +{ + _notmuch_message_ensure_message_file (message); + if (message->message_file == NULL) + return NULL; - return notmuch_message_file_get_header (message->message_file, - "subject"); + return notmuch_message_file_get_all_headers (message->message_file); } const char *