From e1fa571225dcf92a75e3ff4a84c7153e32b3664f Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 28 Feb 2002 02:28:12 +0000 Subject: Don't #include camel-mime-filter-save.h, we don't use it. 2002-02-27 Jeffrey Stedfast * camel-folder-summary.h: Don't #include camel-mime-filter-save.h, we don't use it. * camel-file-utils.c: Fixed a few 'might be used uninitialized' warnings which were real problems. * camel-mime-part-utils.c (camel_mime_part_construct_content_from_parser): Save the raw mime stream for any/all signed parts. * camel-mime-part.c (camel_mime_part_init): Initialize our raw stream to NULL. (camel_mime_part_finalize): Unref our raw stream, if we have one. (write_to_stream): If we have a raw stream, write that out instead of re-encoding. * camel-mime-filter-save.[c,h]: Rewritten to save to a stream rather than a file. svn path=/trunk/; revision=15867 --- camel/camel-mime-part.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'camel/camel-mime-part.c') diff --git a/camel/camel-mime-part.c b/camel/camel-mime-part.c index 5a58b79009..c7b21e460d 100644 --- a/camel/camel-mime-part.c +++ b/camel/camel-mime-part.c @@ -156,6 +156,7 @@ camel_mime_part_init (gpointer object, gpointer klass) CamelMimePart *camel_mime_part = CAMEL_MIME_PART (object); camel_mime_part->content_type = header_content_type_new ("text", "plain"); + camel_mime_part->stream = NULL; camel_mime_part->description = NULL; camel_mime_part->disposition = NULL; camel_mime_part->content_id = NULL; @@ -170,7 +171,10 @@ static void camel_mime_part_finalize (CamelObject *object) { CamelMimePart *mime_part = CAMEL_MIME_PART (object); - + + if (mime_part->stream) + camel_object_unref (CAMEL_OBJECT (mime_part->stream)); + g_free (mime_part->description); g_free (mime_part->content_id); g_free (mime_part->content_MD5); @@ -667,6 +671,18 @@ write_to_stream(CamelDataWrapper *data_wrapper, CamelStream *stream) if (count == -1) return -1; total += count; + +#define SAVE_RAW_MIME_STREAM_FOR_SECURE_MIME_SIGNATURES +#ifdef SAVE_RAW_MIME_STREAM_FOR_SECURE_MIME_SIGNATURES + if (mp->stream) { + count = camel_stream_write_to_stream (mp->stream, stream); + camel_stream_reset (mp->stream); + if (count == -1) + return -1; + + return total + count; + } +#endif /* SAVE_RAW_MIME_STREAM_FOR_SECURE_MIME_SIGNATURES */ content = camel_medium_get_content_object(medium); if (content) { -- cgit v1.2.3