diff options
author | Carl Worth <cworth@cworth.org> | 2009-10-22 15:46:22 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-10-22 15:47:19 -0700 |
commit | 1ae8c41cdab2f753b61a4966730d90047459cc08 (patch) | |
tree | ad4708dbf350e19090d09908b74a898f711491bb /message-file.c | |
parent | 77f9d3ee0eac9f91e6d298e9e3774f4b161fa713 (diff) |
Prevent that last bug from reoccurring.
It's even enough to check if a "missing" header was accidentally
left off the list in the call to restrict_headers. (And it's
cheap since we only check in case no such header was found in the
message.)
Diffstat (limited to 'message-file.c')
-rw-r--r-- | message-file.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/message-file.c b/message-file.c index 4f4f551..fd7e68b 100644 --- a/message-file.c +++ b/message-file.c @@ -298,5 +298,19 @@ notmuch_message_file_get_header (notmuch_message_file_t *message, message->value.len = 0; } + /* We've parsed all headers and never found the one we're looking + * for. It's probably just not there, but let's check that we + * didn't make a mistake preventing us from seeing it. */ + if (message->restrict_headers && + ! g_hash_table_lookup_extended (message->headers, + header_desired, NULL, NULL)) + { + fprintf (stderr, + "Internal error: Attempt to get header \"%s\" which was not\n" + "included in call to notmuch_message_file_restrict_headers\n", + header_desired); + exit (1); + } + return NULL; } |