X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fmessage-file.c;h=915aba8bf97bb1b1e1251c3a3c4a161d81912bd8;hp=7722832e9158411e8101f21cb163f0f0051b9854;hb=8c175aa1208857b40dc7a49d6d924344818b8122;hpb=5b8b0377cb68904eac8fc58a933d47f605a81725;ds=inline diff --git a/lib/message-file.c b/lib/message-file.c index 7722832e..915aba8b 100644 --- a/lib/message-file.c +++ b/lib/message-file.c @@ -329,7 +329,7 @@ notmuch_message_file_get_header (notmuch_message_file_t *message, /* we treat the Received: header special - we want to concat ALL of * the Received: headers we encounter. * for everything else we return the first instance of a header */ - if (is_received) { + if (strcasecmp(header, "received") == 0) { if (header_sofar == NULL) { /* first Received: header we encountered; just add it */ g_hash_table_insert (message->headers, header, decoded_value); @@ -341,12 +341,17 @@ notmuch_message_file_get_header (notmuch_message_file_t *message, strncpy(combined_header,header_sofar,hdrsofar); *(combined_header+hdrsofar) = ' '; strncpy(combined_header+hdrsofar+1,decoded_value,newhdr+1); + free (decoded_value); g_hash_table_insert (message->headers, header, combined_header); } } else { if (header_sofar == NULL) { /* Only insert if we don't have a value for this header, yet. */ g_hash_table_insert (message->headers, header, decoded_value); + } else { + free (header); + free (decoded_value); + decoded_value = header_sofar; } } /* if we found a match we can bail - unless of course we are