X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-reply.c;h=f8d5f64716e2a47e39a2d6767f4e36eeab980d5a;hp=f4b1a61b7f34410f5e79a8b82af5aceda15cb41c;hb=482033f8f81b19228a7b74458f2b13ee3d6c1a17;hpb=12de016686351b78631546299ed35cced01f1e77 diff --git a/notmuch-reply.c b/notmuch-reply.c index f4b1a61b..f8d5f647 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -93,7 +93,17 @@ reply_part_content (GMimeObject *part) GMimeContentType *content_type = g_mime_object_get_content_type (GMIME_OBJECT (part)); GMimeContentDisposition *disposition = g_mime_object_get_content_disposition (part); - if (g_mime_content_type_is_type (content_type, "text", "*") && + if (g_mime_content_type_is_type (content_type, "multipart", "*") || + g_mime_content_type_is_type (content_type, "message", "rfc822")) + { + /* Output nothing, since multipart subparts will be handled individually. */ + } + else if (g_mime_content_type_is_type (content_type, "application", "pgp-encrypted") || + g_mime_content_type_is_type (content_type, "application", "pgp-signature")) + { + /* Ignore PGP/MIME cruft parts */ + } + else if (g_mime_content_type_is_type (content_type, "text", "*") && !g_mime_content_type_is_type (content_type, "text", "html")) { GMimeStream *stream_stdout = NULL, *stream_filter = NULL; @@ -120,10 +130,6 @@ reply_part_content (GMimeObject *part) if (stream_stdout) g_object_unref(stream_stdout); } - else if (g_mime_content_type_is_type (content_type, "message", "rfc822")) - { - /* Output nothing, since rfc822 subparts will be handled individually. */ - } else { if (disposition && @@ -540,8 +546,7 @@ notmuch_reply_format_default(void *ctx, notmuch_message_get_header (message, "date"), notmuch_message_get_header (message, "from")); - show_message_body (notmuch_message_get_filename (message), - format, params); + show_message_body (message, format, params); notmuch_message_destroy (message); } @@ -622,6 +627,8 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) params.part = -1; params.cryptoctx = NULL; + argc--; argv++; /* skip subcommand argument */ + for (i = 0; i < argc && argv[i][0] == '-'; i++) { if (strcmp (argv[i], "--") == 0) { i++;