]> git.notmuchmail.org Git - notmuch/blobdiff - message-file.c
Add -Wmising-declarations and fix warnings.
[notmuch] / message-file.c
index 4f4f551be8e3051497640ab63ff75c4ec02d4f4a..2bd560569dda6aedda058d8942d65e53a4b32f80 100644 (file)
@@ -125,10 +125,8 @@ notmuch_message_file_restrict_headersv (notmuch_message_file_t *message,
 {
     char *header;
 
-    if (message->parsing_started ) {
-       fprintf (stderr, "Error: notmuch_message_file_restrict_headers called after parsing has started\n");
-       exit (1);
-    }
+    if (message->parsing_started)
+       INTERNAL_ERROR ("notmuch_message_file_restrict_headers called after parsing has started");
 
     while (1) {
        header = va_arg (va_headers, char*);
@@ -151,7 +149,7 @@ notmuch_message_file_restrict_headers (notmuch_message_file_t *message, ...)
     notmuch_message_file_restrict_headersv (message, va_headers);
 }
 
-void
+static void
 copy_header_unfolding (header_value_closure_t *value,
                       const char *chunk)
 {
@@ -164,7 +162,7 @@ copy_header_unfolding (header_value_closure_t *value,
        chunk++;
 
     if (value->len + 1 + strlen (chunk) + 1 > value->size) {
-       int new_size = value->size;
+       unsigned int new_size = value->size;
        if (value->size == 0)
            new_size = strlen (chunk) + 1;
        else
@@ -298,5 +296,17 @@ 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))
+    {
+       INTERNAL_ERROR ("Attempt to get header \"%s\" which was not\n"
+                       "included in call to notmuch_message_file_restrict_headers\n",
+                       header_desired);
+    }
+
     return NULL;
 }