cm_return_val_if_fail(msginfo != NULL, -1);
- if ((fp = procmsg_open_message(msginfo)) == NULL) return -1;
+ if ((fp = procmsg_open_message(msginfo, FALSE)) == NULL) return -1;
procheader_get_header_fields(fp, hentry);
claws_fclose(fp);
cm_return_val_if_fail(msginfo != NULL, -1);
- if ((fp = procmsg_open_message(msginfo)) == NULL) return -1;
+ if ((fp = procmsg_open_message(msginfo, FALSE)) == NULL) return -1;
procheader_get_header_fields(fp, entries);
claws_fclose(fp);
gchar buft[BUFFSIZE];
msginfo = (MsgInfo *)cur->data;
- msg_fp = procmsg_open_message(msginfo);
+ msg_fp = procmsg_open_message(msginfo, TRUE);
if (!msg_fp) {
continue;
}
if (message_callback != NULL)
message_callback(_("SpamAssassin: filtering message..."));
- if ((fp = procmsg_open_message(msginfo)) == NULL) {
+ if ((fp = procmsg_open_message(msginfo, FALSE)) == NULL) {
debug_print("failed to open message file\n");
return FALSE;
}
g_slist_free(file_list);
}
-FILE *procmsg_open_message(MsgInfo *msginfo)
+FILE *procmsg_open_message(MsgInfo *msginfo, gboolean skip_special_headers)
{
FILE *fp;
gchar *file;
g_free(file);
- if (MSG_IS_QUEUED(msginfo->flags) || MSG_IS_DRAFT(msginfo->flags)) {
+ if (MSG_IS_QUEUED(msginfo->flags) || MSG_IS_DRAFT(msginfo->flags) ||
+ skip_special_headers == TRUE) {
gchar buf[BUFFSIZE];
while (claws_fgets(buf, sizeof(buf), fp) != NULL) {
case FILTER_BY_NONE:
return;
case FILTER_BY_AUTO:
- if ((fp = procmsg_open_message(msginfo)) == NULL)
+ if ((fp = procmsg_open_message(msginfo, FALSE)) == NULL)
return;
procheader_get_header_fields(fp, hentry);
claws_fclose(fp);
gboolean get_body);
GSList *procmsg_get_message_file_list (MsgInfoList *mlist);
void procmsg_message_file_list_free (MsgInfoList *file_list);
-FILE *procmsg_open_message (MsgInfo *msginfo);
+FILE *procmsg_open_message (MsgInfo *msginfo,
+ gboolean skip_special_headers);
gboolean procmsg_msg_exist (MsgInfo *msginfo);
void procmsg_get_filter_keyword (MsgInfo *msginfo,