Exemplo n.º 1
0
static void
each_part (MuMsg *msg, MuMsgPart *part, GSList **attlist)
{
	char *att, *cachefile;
	GError *err;

	/* exclude things that don't look like proper attachments,
	 * unless they're images */
	if (!mu_msg_part_maybe_attachment(part))
		return;

	err	  = NULL;
	cachefile = mu_msg_part_save_temp (msg, MU_MSG_OPTION_OVERWRITE,
					   part->index, &err);
	if (!cachefile) {
		print_and_clear_g_error (&err);
		return;
	}

	att = g_strdup_printf (
		"(:file-name \"%s\" :mime-type \"%s/%s\")",
		cachefile, part->type, part->subtype);
	*attlist = g_slist_append (*attlist, att);
	g_free (cachefile);
}
Exemplo n.º 2
0
static void
each_part (MuMsg *msg, MuMsgPart *part, PartInfo *pinfo)
{
	char	*att, *cachefile, *encfile;
	GError	*err;

	/* exclude things that don't look like proper attachments,
	 * unless they're images */
	if (!mu_msg_part_maybe_attachment(part))
		return;

	err	  = NULL;
	cachefile = mu_msg_part_save_temp (msg,
					   pinfo->opts|MU_MSG_OPTION_OVERWRITE,
					   part->index, &err);
	if (!cachefile) {
		print_and_clear_g_error (&err);
		return;
	}

	encfile = mu_str_escape_c_literal(cachefile, TRUE);
	g_free (cachefile);

	att = g_strdup_printf (
		"(:file-name %s :mime-type \"%s/%s\")",
		encfile, part->type, part->subtype);
	pinfo->attlist = g_slist_append (pinfo->attlist, att);
	g_free (encfile);
}
Exemplo n.º 3
0
static void
each_part (MuMsg *msg, MuMsgPart *part, gchar **attach)
{
	char *fname, *tmp;

	if (!mu_msg_part_maybe_attachment (part))
		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);
}
Exemplo n.º 4
0
static void
each_part (MuMsg *msg, MuMsgPart *part, PartInfo *pinfo)
{
	char		*name, *tmpfile;

	pinfo->bob = json_builder_begin_object(pinfo->bob);

	name	 = mu_msg_part_get_filename (part, TRUE);
	tmpfile  = get_temp_file_maybe (msg, part, pinfo->opts);

	add_int_member    (pinfo->bob, "index", part->index);
	add_string_member (pinfo->bob, "name", name);

	if (part->type && part->subtype) {
		char *mime_type =
			g_strdup_printf ("%s/%s", part->type, part->subtype);
		add_string_member (pinfo->bob, "mime-type", mime_type);
		g_free(mime_type);
	}

	add_string_member (pinfo->bob, "temp", tmpfile);
	add_part_type (pinfo->bob, part->part_type);

	if (mu_msg_part_maybe_attachment (part))
		add_bool_member (pinfo->bob, "attachment", TRUE);

	add_string_member (pinfo->bob, "cid", mu_msg_part_get_content_id(part));
	add_int_member (pinfo->bob, "size", part->size);

	add_part_crypto (pinfo->bob, part, pinfo);

	g_free (name);
	g_free (tmpfile);

	pinfo->bob = json_builder_end_object(pinfo->bob);
}