From 8c14347a622a7c870ccb8526e473969433f0db98 Mon Sep 17 00:00:00 2001 From: Josef 'Jeff' Sipek Date: Wed, 19 Sep 2018 15:49:56 +0300 Subject: [PATCH] lib-storage/index: Add a helper to cache pop3 order and uidl --- src/lib-storage/index/index-mail.c | 14 ++++++++++++++ src/lib-storage/index/index-mail.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/lib-storage/index/index-mail.c b/src/lib-storage/index/index-mail.c index 30e714b3d3..070cb35120 100644 --- a/src/lib-storage/index/index-mail.c +++ b/src/lib-storage/index/index-mail.c @@ -623,6 +623,20 @@ void index_mail_cache_add_idx(struct index_mail *mail, unsigned int field_idx, } } +void index_mail_cache_pop3_data(struct mail *_mail, + const char *uidl, uint32_t order) +{ + struct index_mail *mail = INDEX_MAIL(_mail); + + if (uidl != NULL) + index_mail_cache_add(mail, MAIL_CACHE_POP3_UIDL, + uidl, strlen(uidl)); + + if (order != 0) + index_mail_cache_add(mail, MAIL_CACHE_POP3_ORDER, + &order, sizeof(order)); +} + static void parse_bodystructure_part_header(struct message_part *part, struct message_header_line *hdr, pool_t pool) diff --git a/src/lib-storage/index/index-mail.h b/src/lib-storage/index/index-mail.h index 6ba64057b5..62d7ceeaca 100644 --- a/src/lib-storage/index/index-mail.h +++ b/src/lib-storage/index/index-mail.h @@ -266,6 +266,9 @@ void index_mail_cache_add(struct index_mail *mail, enum index_cache_field field, void index_mail_cache_add_idx(struct index_mail *mail, unsigned int field_idx, const void *data, size_t data_size); +void index_mail_cache_pop3_data(struct mail *_mail, + const char *uidl, uint32_t order); + struct istream *index_mail_cache_parse_init(struct mail *mail, struct istream *input); void index_mail_cache_parse_continue(struct mail *mail); -- 2.47.3