aboutsummaryrefslogtreecommitdiffhomepage
path: root/notmuch-reply.c
diff options
context:
space:
mode:
authorGravatar Austin Clements <amdragon@MIT.EDU>2012-03-27 17:59:50 -0400
committerGravatar David Bremner <bremner@debian.org>2012-03-31 08:17:20 -0300
commitea4fd50f45b0bc0888070125c632ea2326eb18f7 (patch)
tree1a450a3512310a45afcec7f2d3f56993fea11d72 /notmuch-reply.c
parentee1180018ee3c772d7ac769222ff9c6940f3c838 (diff)
show/reply: Unify the code that extracts text parts
Previously, show and reply had separate implementations of decoding and printing text parts. Now both use show's implementation, which was more complete. Show's implementation has been extended with an option to add reply quoting to the extracted part (this is implemented as a named flag to avoid naked booleans, even though it's the only flag it can take).
Diffstat (limited to 'notmuch-reply.c')
-rw-r--r--notmuch-reply.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/notmuch-reply.c b/notmuch-reply.c
index e2b6c253..2f5ed3dc 100644
--- a/notmuch-reply.c
+++ b/notmuch-reply.c
@@ -21,7 +21,6 @@
*/
#include "notmuch-client.h"
-#include "gmime-filter-reply.h"
#include "gmime-filter-headers.h"
static void
@@ -106,29 +105,10 @@ reply_part_content (GMimeObject *part)
else if (g_mime_content_type_is_type (content_type, "text", "*") &&
!g_mime_content_type_is_type (content_type, "text", "html"))
{
- GMimeStream *stream_stdout = NULL, *stream_filter = NULL;
- GMimeDataWrapper *wrapper;
- const char *charset;
-
- charset = g_mime_object_get_content_type_parameter (part, "charset");
- stream_stdout = g_mime_stream_file_new (stdout);
- if (stream_stdout) {
- g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE);
- stream_filter = g_mime_stream_filter_new(stream_stdout);
- if (charset) {
- g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
- g_mime_filter_charset_new(charset, "UTF-8"));
- }
- }
- g_mime_stream_filter_add(GMIME_STREAM_FILTER(stream_filter),
- g_mime_filter_reply_new(TRUE));
- wrapper = g_mime_part_get_content_object (GMIME_PART (part));
- if (wrapper && stream_filter)
- g_mime_data_wrapper_write_to_stream (wrapper, stream_filter);
- if (stream_filter)
- g_object_unref(stream_filter);
- if (stream_stdout)
- g_object_unref(stream_stdout);
+ GMimeStream *stream_stdout = g_mime_stream_file_new (stdout);
+ g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream_stdout), FALSE);
+ show_text_part_content (part, stream_stdout, NOTMUCH_SHOW_TEXT_PART_REPLY);
+ g_object_unref(stream_stdout);
}
else
{