msginfo = procheader_parse_file(file, flags, FALSE, FALSE);
if (!msginfo) return NULL;
+ msginfo->plaintext_file = g_strdup(file);
msginfo->folder = item;
return msginfo;
* 14 references
* 15 score
* 16 not used anymore
- * 17 not used anymore
+ * 17 plaintext_file
* 18 not used anymore
* 19 hidden
* 20 message file path
ii ? XSRETURN(ii) : XSRETURN_UNDEF;
case 15:
msginfo->score ? XSRETURN_IV(msginfo->score) : XSRETURN_UNDEF;
+ case 17:
+ msginfo->plaintext_file ?
+ XSRETURN_PV(msginfo->plaintext_file) : XSRETURN_UNDEF;
case 19:
msginfo->hidden ? XSRETURN_IV(msginfo->hidden) : XSRETURN_UNDEF;
case 20:
" ClawsMail::C::filter_init(13));\n"
" add_header_entries_(\"references\",ClawsMail::C::filter_init(14));\n"
" $msginfo{\"score\"} = ClawsMail::C::filter_init(15);\n"
+" $msginfo{\"plaintext_file\"} = ClawsMail::C::filter_init(17);\n"
" $msginfo{\"hidden\"} = ClawsMail::C::filter_init(19);\n"
" $msginfo{\"filepath\"} = ClawsMail::C::filter_init(20);\n"
" $msginfo{\"partial_recv\"} = ClawsMail::C::filter_init(21);\n"
gchar *procmsg_get_message_file_path(MsgInfo *msginfo)
{
+ gchar *file;
+
cm_return_val_if_fail(msginfo != NULL, NULL);
- return folder_item_fetch_msg(msginfo->folder, msginfo->msgnum);
+
+ if (msginfo->plaintext_file)
+ file = g_strdup(msginfo->plaintext_file);
+ else {
+ file = folder_item_fetch_msg(msginfo->folder, msginfo->msgnum);
+ }
+
+ return file;
}
gchar *procmsg_get_message_file(MsgInfo *msginfo)
newmsginfo->references = g_slist_reverse(newmsginfo->references);
MEMBCOPY(score);
+ MEMBDUP(plaintext_file);
return newmsginfo;
}
slist_free_strings_full(msginfo->references);
g_slist_free(msginfo->tags);
+ g_free(msginfo->plaintext_file);
+
g_free(msginfo);
}
if (tmp_msginfo != NULL) {
if (src_msginfo)
tmp_msginfo->folder = src_msginfo->folder;
+ tmp_msginfo->plaintext_file = g_strdup(tmpfile);
} else {
g_warning("procmsg_msginfo_new_from_mimeinfo(): Can't generate new msginfo");
}
gint score;
- gint hidden;
+ /* used only for encrypted messages */
+ gchar *plaintext_file;
+
+ gint hidden;
/* used only for partially received messages */
gint total_size;