notmuch_message_get_header: Fix bogus return of NULL header.

A simple bug meant that the correct value was being inserted into
the hash table, but a NULL value would be returned in some cases.
(If the value was already in the hash table at the beginning of
the call the the correct value would be returned, but if the
function had to parse to reach it then it would return NULL.)

This was tripping up the recently-added code to ignore messages
with NULL From:, Subject:, and To: headers, (which is fortunate
since otherwise the broken parsing might have stayed hidden for
longer).
This commit is contained in:
Carl Worth 2009-10-20 09:52:01 -07:00
parent 5f8d44fa5b
commit ed6ee7330d

View file

@ -273,8 +273,9 @@ notmuch_message_get_header (notmuch_message_t *message,
match = (strcasecmp (header, header_desired) == 0);
g_hash_table_insert (message->headers, header,
xstrdup (message->value.str));
value = xstrdup (message->value.str);
g_hash_table_insert (message->headers, header, value);
if (match)
return value;