aboutsummaryrefslogtreecommitdiffstats
path: root/em-format/e-mail-parser-text-enriched.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-05-15 21:17:58 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-05-20 01:07:22 +0800
commitf9ffe647231a7ba2bd5347d92d560b6a57fee786 (patch)
tree6c1245d91a399647fc25521bc1f38cf564210979 /em-format/e-mail-parser-text-enriched.c
parent0b4e7ec091c8bbe65dc2f2afd7da78b04da7c274 (diff)
downloadgsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.gz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.bz2
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.lz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.xz
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.tar.zst
gsoc2013-evolution-f9ffe647231a7ba2bd5347d92d560b6a57fee786.zip
Convert EMailPart to a GObject.
EMailPart is reference-counted, subclassed, and allows a custom finalize function. There's no excuse for it not to use GObject.
Diffstat (limited to 'em-format/e-mail-parser-text-enriched.c')
-rw-r--r--em-format/e-mail-parser-text-enriched.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/em-format/e-mail-parser-text-enriched.c b/em-format/e-mail-parser-text-enriched.c
index f2b26c2d5f..f938471e62 100644
--- a/em-format/e-mail-parser-text-enriched.c
+++ b/em-format/e-mail-parser-text-enriched.c
@@ -53,22 +53,33 @@ empe_text_enriched_parse (EMailParserExtension *extension,
{
GQueue work_queue = G_QUEUE_INIT;
EMailPart *mail_part;
- const gchar *tmp;
+ const gchar *cid;
gint len;
CamelContentType *ct;
len = part_id->len;
g_string_append (part_id, ".text_enriched");
+ mail_part = e_mail_part_new (part, part_id->str);
+
ct = camel_mime_part_get_content_type (part);
+ if (ct != NULL) {
+ gchar *mime_type;
- mail_part = e_mail_part_new (part, part_id->str);
- mail_part->mime_type = ct ? camel_content_type_simple (ct) : g_strdup ("text/enriched");
- tmp = camel_mime_part_get_content_id (part);
- if (!tmp) {
- mail_part->cid = NULL;
+ mime_type = camel_content_type_simple (ct);
+ e_mail_part_set_mime_type (mail_part, mime_type);
+ g_free (mime_type);
} else {
- mail_part->cid = g_strdup_printf ("cid:%s", tmp);
+ e_mail_part_set_mime_type (mail_part, "text/enriched");
+ }
+
+ cid = camel_mime_part_get_content_id (part);
+ if (cid != NULL) {
+ gchar *cid_uri;
+
+ cid_uri = g_strdup_printf ("cid:%s", cid);
+ e_mail_part_set_cid (mail_part, cid_uri);
+ g_free (cid_uri);
}
g_string_truncate (part_id, len);