Prevent that last bug from reoccurring.
authorCarl Worth <cworth@cworth.org>
Thu, 22 Oct 2009 22:46:22 +0000 (15:46 -0700)
committerCarl Worth <cworth@cworth.org>
Thu, 22 Oct 2009 22:47:19 +0000 (15:47 -0700)
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.)

message-file.c

index 4f4f551be8e3051497640ab63ff75c4ec02d4f4a..fd7e68b48ed8d276890adac7eb8a31fedeb5120b 100644 (file)
@@ -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;
 }