+static TnyMsgMimePartIface *
+find_attachment_by_filename (TnyMsgIface *msg, const gchar *fn)
+{
+ TnyMsgMimePartIface *part = NULL;
+ GList *parts;
+
+ g_return_val_if_fail (msg, NULL);
+ g_return_val_if_fail (fn, NULL);
+
+ parts = (GList*) tny_msg_iface_get_parts (msg);
+ while (parts && !part) {
+ const gchar *part_fn;
+ part = TNY_MSG_MIME_PART_IFACE(parts->data);
+ part_fn = tny_msg_mime_part_iface_get_filename (part);
+ if (part_fn && strcmp (fn, part_fn) == 0)
+ return part; /* we found it! */
+
+ part = NULL;
+ parts = parts->next;
+ }
+
+ return part;
+}