summaryrefslogtreecommitdiff
path: root/message-file.c
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2009-10-22 15:46:22 -0700
committerCarl Worth <cworth@cworth.org>2009-10-22 15:47:19 -0700
commit1ae8c41cdab2f753b61a4966730d90047459cc08 (patch)
treead4708dbf350e19090d09908b74a898f711491bb /message-file.c
parent77f9d3ee0eac9f91e6d298e9e3774f4b161fa713 (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.c14
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;
}