diff --git a/Makefile.local b/Makefile.local index 1131dea8..935f0f1e 100644 --- a/Makefile.local +++ b/Makefile.local @@ -301,7 +301,6 @@ notmuch_client_srcs = \ notmuch-tag.c \ notmuch-time.c \ query-string.c \ - show-message.c \ mime-node.c \ json.c diff --git a/notmuch-client.h b/notmuch-client.h index 880b153e..f9fc0a67 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -184,11 +184,6 @@ notmuch_time_elapsed (struct timeval start, struct timeval end); char * query_string_from_args (void *ctx, int argc, char *argv[]); -notmuch_status_t -show_message_body (notmuch_message_t *message, - const notmuch_show_format_t *format, - notmuch_show_params_t *params); - notmuch_status_t show_one_part (const char *filename, int part); diff --git a/show-message.c b/show-message.c deleted file mode 100644 index 83ecf813..00000000 --- a/show-message.c +++ /dev/null @@ -1,106 +0,0 @@ -/* notmuch - Not much of an email program, (just index and search) - * - * Copyright © 2009 Carl Worth - * Copyright © 2009 Keith Packard - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/ . - * - * Authors: Carl Worth - * Keith Packard - */ - -#include "notmuch-client.h" - -typedef struct show_message_state { - int part_count; -} show_message_state_t; - -static void -show_message_part (mime_node_t *node, - show_message_state_t *state, - const notmuch_show_format_t *format, - int first) -{ - /* Formatters expect the envelope for embedded message parts */ - GMimeObject *part = node->envelope_part ? - GMIME_OBJECT (node->envelope_part) : node->part; - int i; - - if (!first) - fputs (format->part_sep, stdout); - - /* Format this part */ - if (format->part_start) - format->part_start (part, &(state->part_count)); - - if (node->decrypt_attempted && format->part_encstatus) - format->part_encstatus (node->decrypt_success); - - if (node->verify_attempted && format->part_sigstatus) -#ifdef GMIME_ATLEAST_26 - format->part_sigstatus (node->sig_list); -#else - format->part_sigstatus (node->sig_validity); -#endif - - format->part_content (part); - - if (node->envelope_part) { - fputs (format->header_start, stdout); - if (format->header_message_part) - format->header_message_part (GMIME_MESSAGE (node->part)); - fputs (format->header_end, stdout); - - fputs (format->body_start, stdout); - } - - /* Recurse over the children */ - state->part_count += 1; - for (i = 0; i < node->nchildren; i++) - show_message_part (mime_node_child (node, i), state, format, i == 0); - - /* Finish this part */ - if (node->envelope_part) - fputs (format->body_end, stdout); - - if (format->part_end) - format->part_end (part); -} - -notmuch_status_t -show_message_body (notmuch_message_t *message, - const notmuch_show_format_t *format, - notmuch_show_params_t *params) -{ - notmuch_status_t ret; - show_message_state_t state; - mime_node_t *root, *part; - - ret = mime_node_open (NULL, message, params->cryptoctx, params->decrypt, - &root); - if (ret) - return ret; - - /* The caller of show_message_body has already handled the - * outermost envelope, so skip it. */ - state.part_count = MAX (params->part, 1); - - part = mime_node_seek_dfs (root, state.part_count); - if (part) - show_message_part (part, &state, format, TRUE); - - talloc_free (root); - - return NOTMUCH_STATUS_SUCCESS; -}