aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder-summary.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-01-17 07:38:32 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-01-17 07:38:32 +0800
commitbd788027df6589ff8b52c87a913322ae9065c394 (patch)
treebfdd4b7614e366db24303868cf40072661e7fb55 /camel/camel-folder-summary.c
parent87590252919a43ad6375d9b19243bd750137dbcb (diff)
downloadgsoc2013-evolution-bd788027df6589ff8b52c87a913322ae9065c394.tar.gz
gsoc2013-evolution-bd788027df6589ff8b52c87a913322ae9065c394.tar.zst
gsoc2013-evolution-bd788027df6589ff8b52c87a913322ae9065c394.zip
If we don't want to corrupt the uuencoded data by overwriting it with
2002-01-16 Jeffrey Stedfast <fejj@ximian.com> * camel-mime-filter-basic.c (filter): If we don't want to corrupt the uuencoded data by overwriting it with base64 decoded data afterward, we need to add a break statement! * camel-folder-summary.c (summary_build_content_info): Add code to add a uu filter. (camel_folder_summary_finalize): Unref the uuencode filter. svn path=/trunk/; revision=15347
Diffstat (limited to 'camel/camel-folder-summary.c')
-rw-r--r--camel/camel-folder-summary.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c
index d2b3c9fba6..9c79ad80f3 100644
--- a/camel/camel-folder-summary.c
+++ b/camel/camel-folder-summary.c
@@ -207,6 +207,8 @@ camel_folder_summary_finalize (CamelObject *obj)
camel_object_unref((CamelObject *)p->filter_64);
if (p->filter_qp)
camel_object_unref((CamelObject *)p->filter_qp);
+ if (p->filter_uu)
+ camel_object_unref((CamelObject *)p->filter_uu);
if (p->filter_save)
camel_object_unref((CamelObject *)p->filter_save);
if (p->filter_html)
@@ -1904,6 +1906,13 @@ summary_build_content_info(CamelFolderSummary *s, CamelMessageInfo *msginfo, Cam
else
camel_mime_filter_reset((CamelMimeFilter *)p->filter_qp);
enc_id = camel_mime_parser_filter_add(mp, (CamelMimeFilter *)p->filter_qp);
+ } else if (!strcasecmp (encoding, "x-uuencode")) {
+ d(printf(" decoding x-uuencode\n"));
+ if (p->filter_uu == NULL)
+ p->filter_uu = camel_mime_filter_basic_new_type(CAMEL_MIME_FILTER_BASIC_UU_DEC);
+ else
+ camel_mime_filter_reset((CamelMimeFilter *)p->filter_uu);
+ enc_id = camel_mime_parser_filter_add(mp, (CamelMimeFilter *)p->filter_uu);
} else {
d(printf(" ignoring encoding %s\n", encoding));
}