X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=af7854d814b929c9be1b43bb5b3d33cfa8a0e340;hp=e317d19855e9eed69483b051a04de4c7749ac62d;hb=35925e6e5be58ca33d8f40f1d6ec44b4e7799713;hpb=2e9c7aba99598eafd7b5fc52897da14ea13af216 diff --git a/notmuch-show.c b/notmuch-show.c index e317d198..af7854d8 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -145,7 +145,7 @@ format_message_json (const void *ctx, notmuch_message_t *message, unused (int in date = notmuch_message_get_date (message); relative_date = notmuch_time_relative_date (ctx, date); - printf ("\"id\": %s, \"match\": %s, \"filename\": %s, \"date_unix\": %ld, \"date_relative\": \"%s\", \"tags\": [", + printf ("\"id\": %s, \"match\": %s, \"filename\": %s, \"timestamp\": %ld, \"date_relative\": \"%s\", \"tags\": [", json_quote_str (ctx_quote, notmuch_message_get_message_id (message)), notmuch_message_get_flag (message, NOTMUCH_MESSAGE_FLAG_MATCH) ? "true" : "false", json_quote_str (ctx_quote, notmuch_message_get_filename (message)), @@ -221,13 +221,19 @@ show_part_content (GMimeObject *part, GMimeStream *stream_out) charset = g_mime_object_get_content_type_parameter (part, "charset"); if (stream_out) { - stream_filter = g_mime_stream_filter_new(stream_out); - g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter), - g_mime_filter_crlf_new(FALSE, FALSE)); + stream_filter = g_mime_stream_filter_new (stream_out); + g_mime_stream_filter_add(GMIME_STREAM_FILTER (stream_filter), + g_mime_filter_crlf_new (FALSE, FALSE)); if (charset) { - g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter), - g_mime_filter_charset_new(charset, "UTF-8")); - } + GMimeFilter *charset_filter; + charset_filter = g_mime_filter_charset_new (charset, "UTF-8"); + /* This result can be NULL for things like "unknown-8bit". + * Don't set a NULL filter as that makes GMime print + * annoying assertion-failure messages on stderr. */ + if (charset_filter) + g_mime_stream_filter_add (GMIME_STREAM_FILTER (stream_filter), + charset_filter); + } } wrapper = g_mime_part_get_content_object (GMIME_PART (part)); @@ -326,7 +332,7 @@ format_part_json (GMimeObject *part, int *part_count) show_part_content (part, stream_memory); part_content = g_mime_stream_mem_get_byte_array (GMIME_STREAM_MEM (stream_memory)); - printf (", \"content\": %s", json_quote_str (ctx, (char *) part_content->data)); + printf (", \"content\": %s", json_quote_chararray (ctx, (char *) part_content->data, part_content->len)); } fputs ("}", stdout);