summaryrefslogtreecommitdiff
path: root/mh/mhn.c
diff options
context:
space:
mode:
Diffstat (limited to 'mh/mhn.c')
-rw-r--r--mh/mhn.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/mh/mhn.c b/mh/mhn.c
index f37d63d0d..b54d109ce 100644
--- a/mh/mhn.c
+++ b/mh/mhn.c
@@ -1122,8 +1122,9 @@ mhn_message_size (mu_message_t msg, size_t *psize)
mu_message_get_header (msg, &hdr);
_get_content_encoding (hdr, &encoding);
- rc = mu_filter_create(&dstr, bstr, encoding,
- MU_FILTER_DECODE, MU_STREAM_READ);
+ rc = mu_filter_create (&dstr, bstr, encoding,
+ MU_FILTER_DECODE,
+ MU_STREAM_READ | MU_STREAM_NO_CLOSE);
free (encoding);
if (rc == 0)
{
@@ -1272,8 +1273,8 @@ show_internal (mu_message_t msg, msg_part_t part, char *encoding, mu_stream_t ou
return 0;
}
mu_body_get_stream (body, &bstr);
- rc = mu_filter_create(&dstr, bstr, encoding,
- MU_FILTER_DECODE, MU_STREAM_READ);
+ rc = mu_filter_create (&dstr, bstr, encoding,
+ MU_FILTER_DECODE, MU_STREAM_READ | MU_STREAM_NO_CLOSE);
if (rc == 0)
bstr = dstr;
cat_message (out, bstr);
@@ -2052,10 +2053,12 @@ finish_text_msg (struct compose_env *env, mu_message_t *msg, int ascii)
mu_message_get_body (*msg, &body);
mu_body_get_stream (body, &input);
rc = mu_filter_create (&fstr, input, "quoted-printable",
- MU_FILTER_ENCODE, MU_STREAM_READ);
+ MU_FILTER_ENCODE,
+ MU_STREAM_READ | MU_STREAM_NO_CLOSE);
if (rc == 0)
{
cat_message (output, fstr);
+ mu_stream_destroy (&fstr, NULL);
mu_message_unref (*msg);
*msg = newmsg;
}

Return to:

Send suggestions and report system problems to the System administrator.