aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-mime-part.c
diff options
context:
space:
mode:
authorbertrand <bertrand@helixcode.com>2000-03-03 00:21:05 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>2000-03-03 00:21:05 +0800
commit8e356d0601866c7f7d8139b1135a628fd4362462 (patch)
tree498def4e208e787b1b7a2d6ff36b92ced097d2e4 /camel/camel-mime-part.c
parent01b2d34d032d0a675ef5f0fdcb811cdd41d690ed (diff)
downloadgsoc2013-evolution-8e356d0601866c7f7d8139b1135a628fd4362462.tar.gz
gsoc2013-evolution-8e356d0601866c7f7d8139b1135a628fd4362462.tar.zst
gsoc2013-evolution-8e356d0601866c7f7d8139b1135a628fd4362462.zip
use CamelStreamB64 type for the input stream.
2000-03-02 bertrand <bertrand@helixcode.com> * camel-stream-b64.c (camel_stream_b64_write_to_stream): use CamelStreamB64 type for the input stream. * camel-mime-part.c (_get_content_object): remove debugging trace (_write_content_to_stream): implement the b64 encoding the new way (that is using camel_stream_b64) svn path=/trunk/; revision=2014
Diffstat (limited to 'camel/camel-mime-part.c')
-rw-r--r--camel/camel-mime-part.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/camel/camel-mime-part.c b/camel/camel-mime-part.c
index b6e5b55c36..7244ab3c0d 100644
--- a/camel/camel-mime-part.c
+++ b/camel/camel-mime-part.c
@@ -630,7 +630,6 @@ _get_content_object (CamelMedium *medium)
break;
}
- printf ("*************************** encoding : %d\n", mime_part->encoding);
camel_mime_part_construct_content_from_stream (mime_part, decoded_stream);
} else {
@@ -662,6 +661,7 @@ _write_content_to_stream (CamelMimePart *mime_part, CamelStream *stream)
{
CamelMedium *medium = CAMEL_MEDIUM (mime_part);
CamelStream *wrapper_stream;
+ CamelStreamB64 *stream_b64;
CamelDataWrapper *content = medium->content;
CAMEL_LOG_FULL_DEBUG ( "Entering CamelMimePart::_write_content_to_stream\n");
@@ -675,9 +675,16 @@ _write_content_to_stream (CamelMimePart *mime_part, CamelStream *stream)
camel_data_wrapper_write_to_stream (content, stream);
break;
case CAMEL_MIME_PART_ENCODING_BASE64:
+ /* encode the data wrapper output stream in base 64 ... */
wrapper_stream = camel_data_wrapper_get_output_stream (content);
+ stream_b64 = CAMEL_STREAM_B64 (camel_stream_b64_new_with_input_stream (wrapper_stream));
+ camel_stream_b64_set_mode (stream_b64, CAMEL_STREAM_B64_ENCODER);
- gmime_encode_base64_to_stream (wrapper_stream, stream);
+ /* ... and write it to the output stream in a blocking way */
+ camel_stream_b64_write_to_stream (stream_b64, stream);
+
+ /* now free the intermediate b64 stream */
+ gtk_object_unref (GTK_OBJECT (stream_b64));
break;
default:
g_warning ("Encoding type `%s' not supported.",