X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=730a91f80827937ed9bb0e9841949ce79c52e6eb;hp=c3a3783a4094c952f61b567907b87f658a1381ab;hb=bb0b119358e4d6df5cc085a48cb3d2e09e396922;hpb=c3a683299d4c27d6eadaacf4fb516f73a6c69fc3 diff --git a/notmuch-show.c b/notmuch-show.c index c3a3783a..730a91f8 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -383,26 +383,6 @@ do_format_signature_errors (sprinter_t *sp, struct key_map_struct *key_map, sp->end (sp); } -#if (GMIME_MAJOR_VERSION < 3) -static void -format_signature_errors (sprinter_t *sp, GMimeSignature *signature) -{ - GMimeSignatureError errors = g_mime_signature_get_errors (signature); - - if (errors == GMIME_SIGNATURE_ERROR_NONE) - return; - - struct key_map_struct key_map[] = { - { GMIME_SIGNATURE_ERROR_EXPSIG, "sig-expired" }, - { GMIME_SIGNATURE_ERROR_NO_PUBKEY, "key-missing"}, - { GMIME_SIGNATURE_ERROR_EXPKEYSIG, "key-expired"}, - { GMIME_SIGNATURE_ERROR_REVKEYSIG, "key-revoked"}, - { GMIME_SIGNATURE_ERROR_UNSUPP_ALGO, "alg-unsupported"}, - }; - - do_format_signature_errors (sp, key_map, ARRAY_SIZE(key_map), errors); -} -#else static void format_signature_errors (sprinter_t *sp, GMimeSignature *signature) { @@ -425,17 +405,14 @@ format_signature_errors (sprinter_t *sp, GMimeSignature *signature) do_format_signature_errors (sp, key_map, ARRAY_SIZE(key_map), errors); } -#endif -/* Signature status sprinter (GMime 2.6) */ +/* Signature status sprinter */ static void -format_part_sigstatus_sprinter (sprinter_t *sp, mime_node_t *node) +format_part_sigstatus_sprinter (sprinter_t *sp, GMimeSignatureList *siglist) { /* Any changes to the JSON or S-Expression format should be * reflected in the file devel/schemata. */ - GMimeSignatureList *siglist = node->sig_list; - sp->begin_list (sp); if (!siglist) { @@ -574,12 +551,18 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node, g_mime_stream_printf (stream, "Date: %s\n", date_string); g_mime_stream_printf (stream, "\fheader}\n"); + if (!params->output_body) + { + g_mime_stream_printf (stream, "\f%s}\n", part_type); + return NOTMUCH_STATUS_SUCCESS; + } g_mime_stream_printf (stream, "\fbody{\n"); } if (leaf) { if (g_mime_content_type_is_type (content_type, "text", "*") && - !g_mime_content_type_is_type (content_type, "text", "html")) + (params->include_html || + ! g_mime_content_type_is_type (content_type, "text", "html"))) { show_text_part_content (node->part, stream, 0); } else { @@ -678,7 +661,7 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node, if (node->verify_attempted) { sp->map_key (sp, "sigstatus"); - format_part_sigstatus_sprinter (sp, node); + format_part_sigstatus_sprinter (sp, node->sig_list); } sp->map_key (sp, "content-type"); @@ -911,7 +894,6 @@ show_message (void *ctx, part = mime_node_seek_dfs (root, (params->part < 0 ? 0 : params->part)); if (part) status = format->part (local, sp, part, indent, params); -#if HAVE_GMIME_SESSION_KEYS if (params->crypto.decrypt == NOTMUCH_DECRYPT_TRUE && session_key_count_error == NOTMUCH_STATUS_SUCCESS) { unsigned int new_session_keys = 0; if (notmuch_message_count_properties (message, "session-key", &new_session_keys) == NOTMUCH_STATUS_SUCCESS && @@ -925,7 +907,6 @@ show_message (void *ctx, } } } -#endif DONE: talloc_free (local); return status; @@ -1204,15 +1185,19 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[]) fprintf (stderr, "Warning: --body=false is incompatible with --part > 0. Disabling.\n"); params.output_body = true; } else { - if (format != NOTMUCH_FORMAT_JSON && format != NOTMUCH_FORMAT_SEXP) + if (format != NOTMUCH_FORMAT_TEXT && + format != NOTMUCH_FORMAT_JSON && + format != NOTMUCH_FORMAT_SEXP) fprintf (stderr, - "Warning: --body=false only implemented for format=json and format=sexp\n"); + "Warning: --body=false only implemented for format=text, format=json and format=sexp\n"); } } if (params.include_html && - (format != NOTMUCH_FORMAT_JSON && format != NOTMUCH_FORMAT_SEXP)) { - fprintf (stderr, "Warning: --include-html only implemented for format=json and format=sexp\n"); + (format != NOTMUCH_FORMAT_TEXT && + format != NOTMUCH_FORMAT_JSON && + format != NOTMUCH_FORMAT_SEXP)) { + fprintf (stderr, "Warning: --include-html only implemented for format=text, format=json and format=sexp\n"); } query_string = query_string_from_args (config, argc-opt_index, argv+opt_index); @@ -1226,10 +1211,6 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[]) return EXIT_FAILURE; } -#if (GMIME_MAJOR_VERSION < 3) - params.crypto.gpgpath = notmuch_config_get_crypto_gpg_path (config); -#endif - notmuch_database_mode_t mode = NOTMUCH_DATABASE_MODE_READ_ONLY; if (params.crypto.decrypt == NOTMUCH_DECRYPT_TRUE) mode = NOTMUCH_DATABASE_MODE_READ_WRITE;