X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=da4a797fbf1e9ed7901301a7c1cb0f3895c3d16e;hp=7af8e64e49e83ca3d7002db83812fd0f77f7f0d7;hb=d3b5533123293fdc1e4177f42018f085c03585c9;hpb=903327279c38d6750e8347eba23262fa487c6951 diff --git a/notmuch-show.c b/notmuch-show.c index 7af8e64e..da4a797f 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -26,10 +26,7 @@ format_part_text (const void *ctx, mime_node_t *node, int indent, const notmuch_show_params_t *params); static const notmuch_show_format_t format_text = { - .message_set_start = "", .part = format_part_text, - .message_set_sep = "", - .message_set_end = "" }; static notmuch_status_t @@ -48,10 +45,7 @@ format_part_mbox (const void *ctx, mime_node_t *node, int indent, const notmuch_show_params_t *params); static const notmuch_show_format_t format_mbox = { - .message_set_start = "", .part = format_part_mbox, - .message_set_sep = "", - .message_set_end = "" }; static notmuch_status_t @@ -60,10 +54,7 @@ format_part_raw (unused (const void *ctx), mime_node_t *node, unused (const notmuch_show_params_t *params)); static const notmuch_show_format_t format_raw = { - .message_set_start = "", .part = format_part_raw, - .message_set_sep = "", - .message_set_end = "" }; static const char * @@ -815,46 +806,20 @@ show_message (void *ctx, int indent, notmuch_show_params_t *params) { - if (format->part) { - void *local = talloc_new (ctx); - mime_node_t *root, *part; - notmuch_status_t status; - - status = mime_node_open (local, message, params->cryptoctx, - params->decrypt, &root); - if (status) - goto DONE; - part = mime_node_seek_dfs (root, (params->part < 0 ? 0 : params->part)); - if (part) - status = format->part (local, part, indent, params); - DONE: - talloc_free (local); - return status; - } - - if (params->part <= 0) { - fputs (format->message_start, stdout); - if (format->message) - format->message(ctx, message, indent); - - fputs (format->header_start, stdout); - if (format->header) - format->header(ctx, message); - fputs (format->header_end, stdout); - - fputs (format->body_start, stdout); - } - - if (format->part_content) - show_message_body (message, format, params); - - if (params->part <= 0) { - fputs (format->body_end, stdout); - - fputs (format->message_end, stdout); - } + void *local = talloc_new (ctx); + mime_node_t *root, *part; + notmuch_status_t status; - return NOTMUCH_STATUS_SUCCESS; + status = mime_node_open (local, message, params->cryptoctx, + params->decrypt, &root); + if (status) + goto DONE; + part = mime_node_seek_dfs (root, (params->part < 0 ? 0 : params->part)); + if (part) + status = format->part (local, part, indent, params); + DONE: + talloc_free (local); + return status; } static notmuch_status_t @@ -871,17 +836,19 @@ show_messages (void *ctx, int next_indent; notmuch_status_t status, res = NOTMUCH_STATUS_SUCCESS; - fputs (format->message_set_start, stdout); + if (format->message_set_start) + fputs (format->message_set_start, stdout); for (; notmuch_messages_valid (messages); notmuch_messages_move_to_next (messages)) { - if (!first_set) + if (!first_set && format->message_set_sep) fputs (format->message_set_sep, stdout); first_set = 0; - fputs (format->message_set_start, stdout); + if (format->message_set_start) + fputs (format->message_set_start, stdout); message = notmuch_messages_get (messages); @@ -896,7 +863,7 @@ show_messages (void *ctx, res = status; next_indent = indent + 1; - if (!status) + if (!status && format->message_set_sep) fputs (format->message_set_sep, stdout); } @@ -910,10 +877,12 @@ show_messages (void *ctx, notmuch_message_destroy (message); - fputs (format->message_set_end, stdout); + if (format->message_set_end) + fputs (format->message_set_end, stdout); } - fputs (format->message_set_end, stdout); + if (format->message_set_end) + fputs (format->message_set_end, stdout); return res; } @@ -959,7 +928,8 @@ do_show (void *ctx, int first_toplevel = 1; notmuch_status_t status, res = NOTMUCH_STATUS_SUCCESS; - fputs (format->message_set_start, stdout); + if (format->message_set_start) + fputs (format->message_set_start, stdout); for (threads = notmuch_query_search_threads (query); notmuch_threads_valid (threads); @@ -973,7 +943,7 @@ do_show (void *ctx, INTERNAL_ERROR ("Thread %s has no toplevel messages.\n", notmuch_thread_get_thread_id (thread)); - if (!first_toplevel) + if (!first_toplevel && format->message_set_sep) fputs (format->message_set_sep, stdout); first_toplevel = 0; @@ -985,7 +955,8 @@ do_show (void *ctx, } - fputs (format->message_set_end, stdout); + if (format->message_set_end) + fputs (format->message_set_end, stdout); return res != NOTMUCH_STATUS_SUCCESS; }