X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=b1f6a4bbb3567dbb3391fbfd34c099c274983729;hp=c6a7a10a270f4650a354611dd465efe94682f6e9;hb=1c7fbbcc99693c0433f7b06b569ce90c19ac5e1b;hpb=4cb789aa090fb6ba3c7897584ecbcc0a547b2f81 diff --git a/notmuch-show.c b/notmuch-show.c index c6a7a10a..b1f6a4bb 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -197,7 +197,7 @@ _is_from_line (const char *line) void format_headers_sprinter (sprinter_t *sp, GMimeMessage *message, - bool reply) + bool reply, const _notmuch_message_crypto_t *msg_crypto) { /* Any changes to the JSON or S-Expression format should be * reflected in the file devel/schemata. */ @@ -209,7 +209,10 @@ format_headers_sprinter (sprinter_t *sp, GMimeMessage *message, sp->begin_map (sp); sp->map_key (sp, "Subject"); - sp->string (sp, g_mime_message_get_subject (message)); + if (msg_crypto && msg_crypto->payload_subject) { + sp->string (sp, msg_crypto->payload_subject); + } else + sp->string (sp, g_mime_message_get_subject (message)); sp->map_key (sp, "From"); sp->string (sp, g_mime_message_get_from_string (message)); @@ -616,12 +619,10 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node, * reflected in the file devel/schemata. */ if (node->envelope_file) { + const _notmuch_message_crypto_t *msg_crypto = NULL; sp->begin_map (sp); format_message_sprinter (sp, node->envelope_file); - sp->map_key (sp, "headers"); - format_headers_sprinter (sp, GMIME_MESSAGE (node->part), false); - if (output_body) { sp->map_key (sp, "body"); sp->begin_list (sp); @@ -629,8 +630,8 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node, sp->end (sp); } + msg_crypto = mime_node_get_message_crypto_status (node); if (notmuch_format_version >= 4) { - const _notmuch_message_crypto_t *msg_crypto = mime_node_get_message_crypto_status (node); sp->map_key (sp, "crypto"); sp->begin_map (sp); if (msg_crypto->sig_list || @@ -657,6 +658,9 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node, sp->end (sp); } + sp->map_key (sp, "headers"); + format_headers_sprinter (sp, GMIME_MESSAGE (node->part), false, msg_crypto); + sp->end (sp); return; } @@ -748,7 +752,7 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node, sp->begin_map (sp); sp->map_key (sp, "headers"); - format_headers_sprinter (sp, GMIME_MESSAGE (node->part), false); + format_headers_sprinter (sp, GMIME_MESSAGE (node->part), false, NULL); sp->map_key (sp, "body"); sp->begin_list (sp);