dovecot-2.2: lib-imap-storage: Added imap_msgpart_contains_body()
dovecot at dovecot.org
dovecot at dovecot.org
Fri May 15 11:37:10 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/4cd9e46e0c78
changeset: 18705:4cd9e46e0c78
user: Timo Sirainen <tss at iki.fi>
date: Fri May 15 14:34:54 2015 +0300
description:
lib-imap-storage: Added imap_msgpart_contains_body()
diffstat:
src/lib-imap-storage/imap-msgpart.c | 16 ++++++++++++++++
src/lib-imap-storage/imap-msgpart.h | 5 +++++
2 files changed, 21 insertions(+), 0 deletions(-)
diffs (41 lines):
diff -r c627a0f64719 -r 4cd9e46e0c78 src/lib-imap-storage/imap-msgpart.c
--- a/src/lib-imap-storage/imap-msgpart.c Fri May 15 14:03:02 2015 +0300
+++ b/src/lib-imap-storage/imap-msgpart.c Fri May 15 14:34:54 2015 +0300
@@ -306,6 +306,22 @@
pool_unref(&msgpart->pool);
}
+bool imap_msgpart_contains_body(const struct imap_msgpart *msgpart)
+{
+ switch (msgpart->fetch_type) {
+ case FETCH_HEADER:
+ case FETCH_HEADER_FIELDS:
+ case FETCH_HEADER_FIELDS_NOT:
+ return FALSE;
+ case FETCH_FULL:
+ case FETCH_MIME:
+ case FETCH_MIME_BODY:
+ case FETCH_BODY:
+ break;
+ }
+ return TRUE;
+}
+
void imap_msgpart_set_decode_to_binary(struct imap_msgpart *msgpart)
{
msgpart->decode_cte_to_binary = TRUE;
diff -r c627a0f64719 -r 4cd9e46e0c78 src/lib-imap-storage/imap-msgpart.h
--- a/src/lib-imap-storage/imap-msgpart.h Fri May 15 14:03:02 2015 +0300
+++ b/src/lib-imap-storage/imap-msgpart.h Fri May 15 14:34:54 2015 +0300
@@ -24,6 +24,11 @@
int imap_msgpart_parse(const char *section, struct imap_msgpart **msgpart_r);
void imap_msgpart_free(struct imap_msgpart **msgpart);
+/* Returns TRUE if the msgpart might return at least part of the message body.
+ Or alternatively: If FALSE is returned, the msgpart will never return
+ anything except (part of) the message header. MIME headers are counted
+ as part of the message body. */
+bool imap_msgpart_contains_body(const struct imap_msgpart *msgpart);
/* Decode MIME parts with Content-Transfer-Encoding: base64/quoted-printable
to binary data (IMAP BINARY extension). If something can't be decoded, fails
with storage error set to MAIL_ERROR_CONVERSION. */
More information about the dovecot-cvs
mailing list