aboutsummaryrefslogtreecommitdiff
path: root/notmuch-reply.c
diff options
context:
space:
mode:
authorJameson Graef Rollins <jrollins@finestructure.net>2011-05-20 11:45:33 -0700
committerCarl Worth <cworth@cworth.org>2011-05-20 12:27:35 -0700
commitdcdb8430945e6323d78997ce47639eebc683c6d3 (patch)
tree2524848a50faad38083e4d75cdf1f5eedc7b21cc /notmuch-reply.c
parent8b9fc33d9904070d88e8b94711f613886b2eb2db (diff)
pass entire format structure to various show_message functions
Various show_message* functions require formatting functions, which were previously being passed individually as arguments. Since we will need to be needing to passing in more formatting function in the future (ie. for crypto support), we here modify things so that we just pass in the entire format structure. This will make things much simpler down the line as we need to pass in new format functions. We move the show_format structure into notmuch-client.c as notmuch_show_format. This also affects notmuch-reply.c, so we create a mostly-empty format_reply to pass the reply_part function to show_message_body.
Diffstat (limited to 'notmuch-reply.c')
-rw-r--r--notmuch-reply.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/notmuch-reply.c b/notmuch-reply.c
index 71edb66..064d27e 100644
--- a/notmuch-reply.c
+++ b/notmuch-reply.c
@@ -25,6 +25,20 @@
#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)
{
GMimeStream *stream_stdout = NULL, *stream_filter = NULL;
@@ -72,12 +86,13 @@ show_reply_headers (GMimeMessage *message)
}
static void
-reply_part (GMimeObject *part, int *part_count, unused (int first))
+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)
@@ -447,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);
@@ -506,7 +522,7 @@ notmuch_reply_format_default(void *ctx, notmuch_config_t *config, notmuch_query_
notmuch_message_get_header (message, "from"));
show_message_body (notmuch_message_get_filename (message),
- reply_part, NULL);
+ format);
notmuch_message_destroy (message);
}