reply: Move reply citation printing to the recursive MIME walk
authorAustin Clements <amdragon@MIT.EDU>
Tue, 27 Mar 2012 21:59:52 +0000 (17:59 -0400)
committerDavid Bremner <bremner@debian.org>
Sat, 31 Mar 2012 11:17:55 +0000 (08:17 -0300)
This makes more logical sense, since it makes the recursive printer
responsible for the entire reply body and lets it start at the root of
the MIME tree instead of the first child.  (We could move reply header
creation in there, too, but if we ever support proper reply to
multiple messages, we'll want just one set of reply headers computed
from the entire message set and many bodies.)

notmuch-reply.c

index 84a1220f7fdf13b4b2c704ebc4c3a5be1e879e9c..0949d9fdc23eb5517695a10c352eabce9a66bf7b 100644 (file)
@@ -47,7 +47,11 @@ format_part_reply (mime_node_t *node)
 {
     int i;
 
-    if (GMIME_IS_MESSAGE (node->part)) {
+    if (node->envelope_file) {
+       printf ("On %s, %s wrote:\n",
+               notmuch_message_get_header (node->envelope_file, "date"),
+               notmuch_message_get_header (node->envelope_file, "from"));
+    } else if (GMIME_IS_MESSAGE (node->part)) {
        GMimeMessage *message = GMIME_MESSAGE (node->part);
        InternetAddressList *recipients;
        const char *recipients_string;
@@ -540,13 +544,9 @@ notmuch_reply_format_default(void *ctx,
        g_object_unref (G_OBJECT (reply));
        reply = NULL;
 
-       printf ("On %s, %s wrote:\n",
-               notmuch_message_get_header (message, "date"),
-               notmuch_message_get_header (message, "from"));
-
        if (mime_node_open (ctx, message, params->cryptoctx, params->decrypt,
                            &root) == NOTMUCH_STATUS_SUCCESS) {
-           format_part_reply (mime_node_child (root, 0));
+           format_part_reply (root);
            talloc_free (root);
        }