]> git.notmuchmail.org Git - notmuch/blobdiff - show-message.c
Utility function to seek in MIME trees in depth-first order.
[notmuch] / show-message.c
index 7a4bbc25807981f2772c3eb6916f73a83811345b..09fa607f3301533c53df6f30058351224ff473fe 100644 (file)
@@ -149,9 +149,21 @@ show_message_part (GMimeObject *part,
        if (selected)
            state->in_zone = 1;
 
+       if (selected || (!selected && state->in_zone)) {
+           fputs (format->header_start, stdout);
+           if (format->header_message_part)
+               format->header_message_part (mime_message);
+           fputs (format->header_end, stdout);
+
+           fputs (format->body_start, stdout);
+       }
+
        show_message_part (g_mime_message_get_mime_part (mime_message),
                           state, format, params, TRUE);
 
+       if (selected || (!selected && state->in_zone))
+           fputs (format->body_end, stdout);
+
        if (selected)
            state->in_zone = 0;
     }
@@ -163,7 +175,7 @@ show_message_part (GMimeObject *part,
 }
 
 notmuch_status_t
-show_message_body (const char *filename,
+show_message_body (notmuch_message_t *message,
                   const notmuch_show_format_t *format,
                   notmuch_show_params_t *params)
 {
@@ -171,6 +183,7 @@ show_message_body (const char *filename,
     GMimeParser *parser = NULL;
     GMimeMessage *mime_message = NULL;
     notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS;
+    const char *filename = notmuch_message_get_filename (message);
     FILE *file = NULL;
     show_message_state_t state;