static void each_part (MuMsg *msg, MuMsgPart *part, gchar **attach) { if (mu_msg_part_looks_like_attachment (part, TRUE) && (part->file_name)) { char *tmp = *attach; *attach = g_strdup_printf ("%s%s'%s'", *attach ? *attach : "", *attach ? ", " : "", part->file_name); g_free (tmp); } }
static gboolean ignore_part (MuMsg *msg, MuMsgPart *part, SaveData *sd) { /* something went wrong somewhere; stop */ if (!sd->result) return TRUE; /* only consider leaf parts */ if (!(part->part_type & MU_MSG_PART_TYPE_LEAF)) return TRUE; /* filter out non-attachments? */ if (!sd->opts->save_all && !(mu_msg_part_looks_like_attachment (part, TRUE))) return TRUE; return FALSE; }
static void each_part (MuMsg *msg, MuMsgPart *part, gchar **attach) { char *fname, *tmp; if (!mu_msg_part_looks_like_attachment (part, TRUE)) return; fname = mu_msg_part_get_filename (part, FALSE); if (!fname) return; tmp = *attach; *attach = g_strdup_printf ("%s%s'%s'", *attach ? *attach : "", *attach ? ", " : "", fname); g_free (tmp); }
static gboolean ignore_part (MuMsg *msg, MuMsgPart *part, SaveData *sd) { /* something went wrong somewhere; stop */ if (!sd->result) return TRUE; /* filter out non-attachments if only want attachments */ if (sd->attachments_only && !mu_msg_part_looks_like_attachment (part, TRUE)) return TRUE; /* ignore multiparts */ if (part->type && g_ascii_strcasecmp (part->type, "multipart") == 0) return TRUE; return FALSE; }