X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=ff1fecb227f2e74cebd9342eb554f86d8363b37b;hp=1a1d6019eac95713f92976f2cefafd474256866a;hb=bf159bd829efb6aa73c68542949eb11d9a44d93c;hpb=6ce2bf68f53fec4302121763e588c33c7cd86a9c diff --git a/notmuch-show.c b/notmuch-show.c index 1a1d6019..ff1fecb2 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -90,8 +90,8 @@ _get_tags_as_string (const void *ctx, notmuch_message_t *message) return NULL; for (tags = notmuch_message_get_tags (message); - notmuch_tags_has_more (tags); - notmuch_tags_advance (tags)) + notmuch_tags_valid (tags); + notmuch_tags_move_to_next (tags)) { tag = notmuch_tags_get (tags); @@ -136,13 +136,24 @@ format_message_text (unused (const void *ctx), notmuch_message_t *message, int i 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); } @@ -160,7 +171,7 @@ format_headers_text (const void *ctx, notmuch_message_t *message) 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); } } @@ -355,8 +366,8 @@ show_messages (void *ctx, const show_format_t *format, notmuch_messages_t *messa fputs (format->message_set_start, stdout); for (; - notmuch_messages_has_more (messages); - notmuch_messages_advance (messages)) + notmuch_messages_valid (messages); + notmuch_messages_move_to_next (messages)) { if (!first_set) fputs (format->message_set_sep, stdout); @@ -460,8 +471,8 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[])) fputs (format->message_set_start, stdout); for (threads = notmuch_query_search_threads (query); - notmuch_threads_has_more (threads); - notmuch_threads_advance (threads)) + notmuch_threads_valid (threads); + notmuch_threads_move_to_next (threads)) { thread = notmuch_threads_get (threads);