aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--em-format/e-mail-part.c20
-rw-r--r--em-format/e-mail-part.h2
-rw-r--r--mail/em-utils.c12
3 files changed, 23 insertions, 11 deletions
diff --git a/em-format/e-mail-part.c b/em-format/e-mail-part.c
index ba43e7e2f2..2339e0e3c1 100644
--- a/em-format/e-mail-part.c
+++ b/em-format/e-mail-part.c
@@ -371,3 +371,23 @@ e_mail_part_has_validity (EMailPart *part)
return !g_queue_is_empty (&part->validities);
}
+EMailPartValidityFlags
+e_mail_part_get_validity_flags (EMailPart *part)
+{
+ EMailPartValidityFlags flags = 0;
+ GList *head, *link;
+
+ g_return_val_if_fail (part != NULL, 0);
+
+ head = g_queue_peek_head_link (&part->validities);
+
+ for (link = head; link != NULL; link = g_list_next (link)) {
+ EMailPartValidityPair *pair = link->data;
+
+ if (pair != NULL)
+ flags |= pair->validity_type;
+ }
+
+ return flags;
+}
+
diff --git a/em-format/e-mail-part.h b/em-format/e-mail-part.h
index bcb42707e0..cb25cb3020 100644
--- a/em-format/e-mail-part.h
+++ b/em-format/e-mail-part.h
@@ -119,6 +119,8 @@ CamelCipherValidity *
e_mail_part_get_validity (EMailPart *part,
guint32 validity_type);
gboolean e_mail_part_has_validity (EMailPart *part);
+EMailPartValidityFlags
+ e_mail_part_get_validity_flags (EMailPart *part);
G_END_DECLS
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 07c943a4e9..6a12e3c4c1 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -1322,7 +1322,6 @@ em_utils_message_to_html (CamelSession *session,
for (link = head; link != NULL; link = g_list_next (link)) {
EMailPart *part = link->data;
- GList *vhead, *vlink;
const gchar *mime_type;
mime_type = e_mail_part_get_mime_type (part);
@@ -1338,16 +1337,7 @@ em_utils_message_to_html (CamelSession *session,
hidden_text_html_part = part;
}
- vhead = g_queue_peek_head_link (&part->validities);
-
- for (vlink = vhead; vlink != NULL; vlink = g_list_next (vlink)) {
- EMailPartValidityPair *pair = vlink->data;
-
- if (pair == NULL)
- continue;
-
- is_validity_found |= pair->validity_type;
- }
+ is_validity_found |= e_mail_part_get_validity_flags (part);
}
while (!g_queue_is_empty (&queue))