mimeinfo->parameters = g_hash_table_new(g_str_hash, g_str_equal);
mimeinfo->node = g_node_new(mimeinfo);
-
+
return mimeinfo;
}
filename = procmsg_get_message_file(msginfo);
if(!filename)
return NULL;
- if (msginfo->folder->stype != F_QUEUE)
+ if (msginfo->folder->stype != F_QUEUE &&
+ msginfo->folder->stype != F_DRAFT)
mimeinfo = procmime_scan_file(filename);
else
mimeinfo = procmime_scan_queue_file(filename);
FILE *fp;
boundary = g_hash_table_lookup(mimeinfo->parameters, "boundary");
- if(!boundary)
+ if (!boundary)
return;
boundary_len = strlen(boundary);
- if(mimeinfo->encoding_type != ENC_BINARY &&
- mimeinfo->encoding_type != ENC_7BIT &&
- mimeinfo->encoding_type != ENC_8BIT)
+ if (mimeinfo->encoding_type != ENC_BINARY &&
+ mimeinfo->encoding_type != ENC_7BIT &&
+ mimeinfo->encoding_type != ENC_8BIT)
procmime_decode_content(mimeinfo);
fp = fopen(mimeinfo->filename, "rb");
break;
if (IS_BOUNDARY(buf, boundary, boundary_len)) {
- if(lastoffset != -1) {
+ if (lastoffset != -1) {
procmime_parse_mimepart(mimeinfo,
hentry[0].body, hentry[1].body,
hentry[2].body, hentry[3].body,
lastoffset = ftell(fp);
}
}
+ for (i = 0; i < 4; i++) {
+ g_free(hentry[i].body);
+ hentry[i].body = NULL;
+ }
fclose(fp);
}