diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-05-15 21:17:58 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-05-20 01:07:22 +0800 |
commit | f9ffe647231a7ba2bd5347d92d560b6a57fee786 (patch) | |
tree | 6c1245d91a399647fc25521bc1f38cf564210979 /em-format/e-mail-parser-text-enriched.c | |
parent | 0b4e7ec091c8bbe65dc2f2afd7da78b04da7c274 (diff) | |
download | gsoc2013-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.c | 25 |
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); |