changeset 13121:15082db3225a

lib-mail: Added message_decoder_set_return_binary()
author Timo Sirainen <tss@iki.fi>
date Thu, 28 Jul 2011 17:01:26 +0300
parents 06873db0bfef
children bbb023aa1efd
files src/lib-mail/message-decoder.c src/lib-mail/message-decoder.h
diffstat 2 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-mail/message-decoder.c	Thu Jul 28 17:01:09 2011 +0300
+++ b/src/lib-mail/message-decoder.c	Thu Jul 28 17:01:26 2011 +0300
@@ -48,6 +48,10 @@
 	unsigned int binary_input:1;
 };
 
+static void
+message_decode_body_init_charset(struct message_decoder_context *ctx,
+				 struct message_part *part);
+
 struct message_decoder_context *
 message_decoder_init(enum message_decoder_flags flags)
 {
@@ -78,6 +82,16 @@
 	i_free(ctx);
 }
 
+void message_decoder_set_return_binary(struct message_decoder_context *ctx,
+				       bool set)
+{
+	if (set)
+		ctx->flags |= MESSAGE_DECODER_FLAG_RETURN_BINARY;
+	else
+		ctx->flags &= ~MESSAGE_DECODER_FLAG_RETURN_BINARY;
+	message_decode_body_init_charset(ctx, ctx->prev_part);
+}
+
 static void
 parse_content_transfer_encoding(struct message_decoder_context *ctx,
 				struct message_header_line *hdr)
--- a/src/lib-mail/message-decoder.h	Thu Jul 28 17:01:09 2011 +0300
+++ b/src/lib-mail/message-decoder.h	Thu Jul 28 17:01:26 2011 +0300
@@ -17,6 +17,10 @@
 message_decoder_init(enum message_decoder_flags flags);
 void message_decoder_deinit(struct message_decoder_context **ctx);
 
+/* Change the MESSAGE_DECODER_FLAG_RETURN_BINARY flag */
+void message_decoder_set_return_binary(struct message_decoder_context *ctx,
+				       bool set);
+
 /* Decode input and return decoded output. Headers are returned only in their
    full multiline forms.