X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=2fa229257ea99645d778a134c35861c3398665e5;hp=89bf2e7681fd6f66a6c05cc03e1746e3d29f831f;hb=60e79e3a9f1c8f054bd3f064714a9e92e8fe13b8;hpb=e41417d7b42558f13f74cdf4506b316f9942de48 diff --git a/notmuch-show.c b/notmuch-show.c index 89bf2e76..2fa22925 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -37,11 +37,7 @@ format_part_json_entry (const void *ctx, sprinter_t *sp, mime_node_t *node, static const notmuch_show_format_t format_json = { .new_sprinter = sprinter_json_create, - .message_set_start = "[", .part = format_part_json_entry, - .message_set_sep = ", ", - .message_set_end = "]", - .null_message = "null" }; static notmuch_status_t @@ -114,6 +110,9 @@ _get_one_line_summary (const void *ctx, notmuch_message_t *message) static void format_message_json (sprinter_t *sp, notmuch_message_t *message) { + /* Any changes to the JSON format should be reflected in the file + * devel/schemata. */ + void *local = talloc_new (NULL); notmuch_tags_t *tags; time_t date; @@ -212,8 +211,12 @@ void format_headers_json (sprinter_t *sp, GMimeMessage *message, notmuch_bool_t reply) { + /* Any changes to the JSON format should be reflected in the file + * devel/schemata. */ + InternetAddressList *recipients; const char *recipients_string; + const char *reply_to_string; sp->begin_map (sp); @@ -237,6 +240,19 @@ format_headers_json (sprinter_t *sp, GMimeMessage *message, sp->string (sp, recipients_string); } + recipients = g_mime_message_get_recipients (message, GMIME_RECIPIENT_TYPE_BCC); + recipients_string = internet_address_list_to_string (recipients, 0); + if (recipients_string) { + sp->map_key (sp, "Bcc"); + sp->string (sp, recipients_string); + } + + reply_to_string = g_mime_message_get_reply_to (message); + if (reply_to_string) { + sp->map_key (sp, "Reply-To"); + sp->string (sp, reply_to_string); + } + if (reply) { sp->map_key (sp, "In-reply-to"); sp->string (sp, g_mime_object_get_header (GMIME_OBJECT (message), "In-reply-to")); @@ -349,6 +365,9 @@ signer_status_to_string (GMimeSignerStatus x) static void format_part_sigstatus_json (sprinter_t *sp, mime_node_t *node) { + /* Any changes to the JSON format should be reflected in the file + * devel/schemata. */ + GMimeSignatureList *siglist = node->sig_list; sp->begin_list (sp);