static void
format_message_json (const void *ctx, notmuch_message_t *message, unused (int indent))
{
+ notmuch_tags_t *tags;
+ int first = 1;
void *ctx_quote = talloc_new (ctx);
- printf ("\"id\": %s, \"match\": %s, \"filename\": %s",
+ printf ("\"id\": %s, \"match\": %s, \"filename\": %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)));
+ for (tags = notmuch_message_get_tags (message);
+ notmuch_tags_valid (tags);
+ notmuch_tags_move_to_next (tags))
+ {
+ printf("%s%s", first ? "" : ",",
+ json_quote_str (ctx_quote, notmuch_tags_get (tags)));
+ first = 0;
+ }
+ printf("]");
talloc_free (ctx_quote);
}
for (i = 0; i < ARRAY_SIZE (headers); i++) {
name = headers[i];
value = notmuch_message_get_header (message, name);
- if (value)
+ if (value && strlen (value))
printf ("%s: %s\n", name, value);
}
}
{
GMimeContentDisposition *disposition;
GMimeContentType *content_type;
- GMimeStream *stream_stdout = g_mime_stream_file_new (stdout);
-
- g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE);
disposition = g_mime_object_get_content_disposition (part);
if (disposition &&
if (g_mime_content_type_is_type (content_type, "text", "*") &&
!g_mime_content_type_is_type (content_type, "text", "html"))
{
+ GMimeStream *stream_stdout = g_mime_stream_file_new (stdout);
+ g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE);
show_part_content (part, stream_stdout);
+ g_object_unref(stream_stdout);
}
printf ("\fattachment}\n");
- if (stream_stdout)
- g_object_unref(stream_stdout);
-
return;
}
if (g_mime_content_type_is_type (content_type, "text", "*") &&
!g_mime_content_type_is_type (content_type, "text", "html"))
{
+ GMimeStream *stream_stdout = g_mime_stream_file_new (stdout);
+ g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE);
show_part_content (part, stream_stdout);
+ g_object_unref(stream_stdout);
}
else
{
}
printf ("\fpart}\n");
-
- if (stream_stdout)
- g_object_unref(stream_stdout);
}
static void