dovecot-2.2: imapc: Avoid FETCH INTERNALDATE for getting save_da...

dovecot at dovecot.org dovecot at dovecot.org
Sat Nov 16 20:10:36 EET 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/4597e6572ba1
changeset: 16961:4597e6572ba1
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Nov 16 20:09:19 2013 +0200
description:
imapc: Avoid FETCH INTERNALDATE for getting save_date when we already know received_date.

diffstat:

 src/lib-storage/index/imapc/imapc-mail-fetch.c |  3 +++
 src/lib-storage/index/imapc/imapc-mail.c       |  6 ++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diffs (29 lines):

diff -r 52fccca876b9 -r 4597e6572ba1 src/lib-storage/index/imapc/imapc-mail-fetch.c
--- a/src/lib-storage/index/imapc/imapc-mail-fetch.c	Sat Nov 16 20:06:34 2013 +0200
+++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c	Sat Nov 16 20:09:19 2013 +0200
@@ -223,6 +223,9 @@
 	if ((data->wanted_fields & MAIL_FETCH_RECEIVED_DATE) != 0 &&
 	    data->received_date == (time_t)-1)
 		fields |= MAIL_FETCH_RECEIVED_DATE;
+	if ((data->wanted_fields & MAIL_FETCH_SAVE_DATE) != 0 &&
+	    data->save_date == (time_t)-1 && data->received_date == (time_t)-1)
+		fields |= MAIL_FETCH_RECEIVED_DATE;
 	if ((data->wanted_fields & MAIL_FETCH_PHYSICAL_SIZE) != 0 &&
 	    data->physical_size == (uoff_t)-1 &&
 	    IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE))
diff -r 52fccca876b9 -r 4597e6572ba1 src/lib-storage/index/imapc/imapc-mail.c
--- a/src/lib-storage/index/imapc/imapc-mail.c	Sat Nov 16 20:06:34 2013 +0200
+++ b/src/lib-storage/index/imapc/imapc-mail.c	Sat Nov 16 20:09:19 2013 +0200
@@ -296,6 +296,12 @@
 
 	if ((data->wanted_fields & MAIL_FETCH_RECEIVED_DATE) != 0)
 		(void)index_mail_get_received_date(_mail, &date);
+	if ((data->wanted_fields & MAIL_FETCH_SAVE_DATE) != 0) {
+		if (index_mail_get_save_date(_mail, &date) < 0) {
+			(void)index_mail_get_received_date(_mail, &date);
+			data->save_date = data->received_date;
+		}
+	}
 	if ((data->wanted_fields & MAIL_FETCH_PHYSICAL_SIZE) != 0) {
 		if (index_mail_get_physical_size(_mail, &size) < 0 &&
 		    !IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE))


More information about the dovecot-cvs mailing list