cli/reply: unify reply format functions

Prepare for further future unification by making the code similar. The
only functional change is that errors in mime_node_open() also break
execution in default reply format.
This commit is contained in:
Jani Nikula 2016-09-13 20:14:12 +03:00 committed by David Bremner
parent a843fa48fe
commit 208053b684

View file

@ -604,20 +604,20 @@ notmuch_reply_format_default(void *ctx,
unused (sprinter_t *sp)) unused (sprinter_t *sp))
{ {
GMimeMessage *reply; GMimeMessage *reply;
mime_node_t *root; mime_node_t *node;
if (mime_node_open (ctx, message, &params->crypto, &node))
return 1;
reply = create_reply_message (ctx, config, message, reply_all); reply = create_reply_message (ctx, config, message, reply_all);
if (!reply) if (!reply)
return 1; return 1;
show_reply_headers (reply); show_reply_headers (reply);
format_part_reply (node);
g_object_unref (G_OBJECT (reply)); g_object_unref (G_OBJECT (reply));
talloc_free (node);
if (mime_node_open (ctx, message, &params->crypto, &root) == NOTMUCH_STATUS_SUCCESS) {
format_part_reply (root);
talloc_free (root);
}
return 0; return 0;
} }
@ -633,7 +633,7 @@ notmuch_reply_format_sprinter(void *ctx,
GMimeMessage *reply; GMimeMessage *reply;
mime_node_t *node; mime_node_t *node;
if (mime_node_open (ctx, message, &params->crypto, &node) != NOTMUCH_STATUS_SUCCESS) if (mime_node_open (ctx, message, &params->crypto, &node))
return 1; return 1;
reply = create_reply_message (ctx, config, message, reply_all); reply = create_reply_message (ctx, config, message, reply_all);
@ -645,7 +645,6 @@ notmuch_reply_format_sprinter(void *ctx,
/* The headers of the reply message we've created */ /* The headers of the reply message we've created */
sp->map_key (sp, "reply-headers"); sp->map_key (sp, "reply-headers");
format_headers_sprinter (sp, reply, TRUE); format_headers_sprinter (sp, reply, TRUE);
g_object_unref (G_OBJECT (reply));
/* Start the original */ /* Start the original */
sp->map_key (sp, "original"); sp->map_key (sp, "original");
@ -654,6 +653,9 @@ notmuch_reply_format_sprinter(void *ctx,
/* End */ /* End */
sp->end (sp); sp->end (sp);
g_object_unref (G_OBJECT (reply));
talloc_free (node);
return 0; return 0;
} }