diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2013-09-13 09:13:15 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2013-09-13 09:13:15 +0000 |
commit | 9b801d5b1903a5f7939bb9b0cb68d0058217f668 (patch) | |
tree | 922994cc41ec3e00b6f4d1b0133c2178e2a3f76a /libsylph/procmime.c | |
parent | af662f794d118ff080b616c5315b3a1f831fb4a3 (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.c | 28 |
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; |