X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-reply.c;h=e60a264b5d30acf8cec96412f17e150789e43c5c;hp=1ab3db946e846346e51e0f02b3b3ee8756c6ba36;hb=90cd1bac4eeb0d57fbe2740625aaa58d8d925ee5;hpb=b2c8fdee53a1b06dd19fafe23e53ac8555d294af diff --git a/notmuch-reply.c b/notmuch-reply.c index 1ab3db94..e60a264b 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -22,6 +22,7 @@ #include "notmuch-client.h" #include "gmime-filter-headers.h" +#include "sprinter.h" static void show_reply_headers (GMimeMessage *message) @@ -596,6 +597,7 @@ notmuch_reply_format_json(void *ctx, notmuch_messages_t *messages; notmuch_message_t *message; mime_node_t *node; + sprinter_t *sp; if (notmuch_query_count_messages (query) != 1) { fprintf (stderr, "Error: search term did not match precisely one message.\n"); @@ -611,19 +613,21 @@ notmuch_reply_format_json(void *ctx, if (!reply) return 1; + sp = sprinter_json_create (ctx, stdout); + sp->begin_map (sp); + /* The headers of the reply message we've created */ - printf ("{\"reply-headers\": "); - format_headers_json (ctx, reply, TRUE); + sp->map_key (sp, "reply-headers"); + format_headers_json (sp, reply, TRUE); g_object_unref (G_OBJECT (reply)); reply = NULL; /* Start the original */ - printf (", \"original\": "); - - format_part_json (ctx, node, TRUE); + sp->map_key (sp, "original"); + format_part_json (ctx, sp, node, TRUE, TRUE); /* End */ - printf ("}\n"); + sp->end (sp); notmuch_message_destroy (message); return 0; @@ -741,25 +745,6 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) else reply_format_func = notmuch_reply_format_default; - if (params.crypto.decrypt) { -#ifdef GMIME_ATLEAST_26 - /* TODO: GMimePasswordRequestFunc */ - params.crypto.gpgctx = g_mime_gpg_context_new (NULL, "gpg"); -#else - GMimeSession* session = g_object_new (g_mime_session_get_type(), NULL); - params.crypto.gpgctx = g_mime_gpg_context_new (session, "gpg"); -#endif - if (params.crypto.gpgctx) { - g_mime_gpg_context_set_always_trust ((GMimeGpgContext*) params.crypto.gpgctx, FALSE); - } else { - params.crypto.decrypt = FALSE; - fprintf (stderr, "Failed to construct gpg context.\n"); - } -#ifndef GMIME_ATLEAST_26 - g_object_unref (session); -#endif - } - config = notmuch_config_open (ctx, NULL, NULL); if (config == NULL) return 1;