]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-reply.c
create notmuch_show_params_t structure for holding parameters passed to show functions.
[notmuch] / notmuch-reply.c
index 333e945f09d01abfe225bc589190dd8496506314..064d27e08b06089eade9672a60fcf8ff7a1fc425 100644 (file)
 #include "gmime-filter-reply.h"
 #include "gmime-filter-headers.h"
 
+static void
+reply_part (GMimeObject *part,
+           unused (int *part_count),
+           unused (int first));
+
+static const notmuch_show_format_t format_reply = {
+    NULL,
+       NULL, NULL,
+           NULL, NULL, NULL,
+           NULL, reply_part, NULL, NULL,
+       NULL, NULL,
+    NULL
+};
+
 static void
 reply_part_content (GMimeObject *part)
 {
@@ -72,12 +86,13 @@ show_reply_headers (GMimeMessage *message)
 }
 
 static void
-reply_part (GMimeObject *part, int *part_count)
+reply_part (GMimeObject *part,
+           unused (int *part_count),
+           unused (int first))
 {
     GMimeContentDisposition *disposition;
     GMimeContentType *content_type;
 
-    (void) part_count;
     disposition = g_mime_object_get_content_disposition (part);
     if (disposition &&
        strcmp (disposition->disposition, GMIME_DISPOSITION_ATTACHMENT) == 0)
@@ -119,7 +134,7 @@ static int
 address_is_users (const char *address, notmuch_config_t *config)
 {
     const char *primary;
-    char **other;
+    const char **other;
     size_t i, other_len;
 
     primary = notmuch_config_get_user_primary_email (config);
@@ -312,12 +327,13 @@ static const char *
 guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message)
 {
     const char *received,*primary,*by;
-    char **other,*tohdr;
+    const char **other;
+    char *tohdr;
     char *mta,*ptr,*token;
     char *domain=NULL;
     char *tld=NULL;
     const char *delim=". \t";
-    size_t i,other_len;
+    size_t i,j,other_len;
 
     const char *to_headers[] = {"Envelope-to", "X-Original-To"};
 
@@ -348,10 +364,10 @@ guess_from_received_header (notmuch_config_t *config, notmuch_message_t *message
                free(tohdr);
                return primary;
            }
-           for (i = 0; i < other_len; i++)
-               if (strcasestr (tohdr, other[i])) {
+           for (j = 0; j < other_len; j++)
+               if (strcasestr (tohdr, other[j])) {
                    free(tohdr);
-                   return other[i];
+                   return other[j];
                }
            free(tohdr);
        }
@@ -446,6 +462,7 @@ notmuch_reply_format_default(void *ctx, notmuch_config_t *config, notmuch_query_
     notmuch_message_t *message;
     const char *subject, *from_addr = NULL;
     const char *in_reply_to, *orig_references, *references;
+    const notmuch_show_format_t *format = &format_reply;
 
     for (messages = notmuch_query_search_messages (query);
         notmuch_messages_valid (messages);
@@ -481,9 +498,6 @@ notmuch_reply_format_default(void *ctx, notmuch_config_t *config, notmuch_query_
        g_mime_object_set_header (GMIME_OBJECT (reply),
                                  "From", from_addr);
 
-       g_mime_object_set_header (GMIME_OBJECT (reply), "Bcc",
-                          notmuch_config_get_user_primary_email (config));
-
        in_reply_to = talloc_asprintf (ctx, "<%s>",
                             notmuch_message_get_message_id (message));
 
@@ -507,7 +521,8 @@ notmuch_reply_format_default(void *ctx, notmuch_config_t *config, notmuch_query_
                notmuch_message_get_header (message, "date"),
                notmuch_message_get_header (message, "from"));
 
-       show_message_body (notmuch_message_get_filename (message), reply_part);
+       show_message_body (notmuch_message_get_filename (message),
+                          format);
 
        notmuch_message_destroy (message);
     }
@@ -558,9 +573,6 @@ notmuch_reply_format_headers_only(void *ctx, notmuch_config_t *config, notmuch_q
 
        (void)add_recipients_from_message (reply, config, message);
 
-       g_mime_object_set_header (GMIME_OBJECT (reply), "Bcc",
-                          notmuch_config_get_user_primary_email (config));
-
        reply_headers = g_mime_object_to_string (GMIME_OBJECT (reply));
        printf ("%s", reply_headers);
        free (reply_headers);