From: Carl Worth <cworth@cworth.org>
Date: Thu, 22 Oct 2009 22:46:22 +0000 (-0700)
Subject: Prevent that last bug from reoccurring.
X-Git-Tag: 0.1~771
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=1ae8c41cdab2f753b61a4966730d90047459cc08;p=obsolete%2Fnotmuch-old

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.)
---

diff --git a/message-file.c b/message-file.c
index 4f4f551b..fd7e68b4 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;
 }