aboutsummaryrefslogtreecommitdiff
path: root/libsylph/procmime.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-09-13 09:13:15 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-09-13 09:13:15 +0000
commit9b801d5b1903a5f7939bb9b0cb68d0058217f668 (patch)
tree922994cc41ec3e00b6f4d1b0133c2178e2a3f76a /libsylph/procmime.c
parentaf662f794d118ff080b616c5315b3a1f831fb4a3 (diff)
distinguish icon for HTML mail and other mail with attachments on summaryview (#84).
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@3281 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/procmime.c')
-rw-r--r--libsylph/procmime.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libsylph/procmime.c b/libsylph/procmime.c
index e2c7fdb4..9c5020a2 100644
--- a/libsylph/procmime.c
+++ b/libsylph/procmime.c
@@ -210,6 +210,34 @@ MimeInfo *procmime_scan_message(MsgInfo *msginfo)
return mimeinfo;
}
+MimeInfo *procmime_scan_message_stream(FILE *fp)
+{
+ MimeInfo *mimeinfo;
+ glong fpos;
+
+ g_return_val_if_fail(fp != NULL, NULL);
+
+ if (fseek(fp, 0L, SEEK_SET) < 0) {
+ FILE_OP_ERROR("procmime_scan_message_stream()", "fseek");
+ return NULL;
+ }
+
+ mimeinfo = procmime_scan_mime_header(fp);
+
+ if (mimeinfo) {
+ fpos = ftell(fp);
+ mimeinfo->content_size = get_left_file_size(fp);
+ mimeinfo->size = fpos + mimeinfo->content_size;
+ if (mimeinfo->encoding_type == ENC_BASE64)
+ mimeinfo->content_size = mimeinfo->content_size / 4 * 3;
+ if (mimeinfo->mime_type == MIME_MULTIPART ||
+ mimeinfo->mime_type == MIME_MESSAGE_RFC822)
+ procmime_scan_multipart_message(mimeinfo, fp);
+ }
+
+ return mimeinfo;
+}
+
void procmime_scan_multipart_message(MimeInfo *mimeinfo, FILE *fp)
{
gchar *p;