From: Timo Sirainen Date: Fri, 9 Jul 2004 00:10:37 +0000 (+0300) Subject: Always create cache transaction. Easier that way .. and fixes a crash. X-Git-Tag: 1.1.alpha1~3806 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1efb8b95e87ca3940cc74f9553a3c8ca5d85ead3;p=thirdparty%2Fdovecot%2Fcore.git Always create cache transaction. Easier that way .. and fixes a crash. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/index-mail-headers.c b/src/lib-storage/index/index-mail-headers.c index ee353ba7b8..273e2f6a93 100644 --- a/src/lib-storage/index/index-mail-headers.c +++ b/src/lib-storage/index/index-mail-headers.c @@ -397,8 +397,6 @@ static int index_mail_can_cache_headers(struct index_mail *mail) /* FIXME: add some smart checks here. we don't necessarily want to cache everything.. */ - - index_mail_cache_transaction_begin(mail); return TRUE; } diff --git a/src/lib-storage/index/index-mail.c b/src/lib-storage/index/index-mail.c index 216bd36ed1..5713aad62a 100644 --- a/src/lib-storage/index/index-mail.c +++ b/src/lib-storage/index/index-mail.c @@ -127,15 +127,6 @@ static void get_cached_sent_date(struct index_mail *mail, } } -void index_mail_cache_transaction_begin(struct index_mail *mail) -{ - if (mail->trans->cache_trans == NULL) { - mail->trans->cache_trans = - mail_cache_get_transaction(mail->trans->cache_view, - mail->trans->trans); - } -} - const struct mail_full_flags *index_mail_get_flags(struct mail *_mail) { struct index_mail *mail = (struct index_mail *) _mail; @@ -302,8 +293,6 @@ static void index_mail_parse_body(struct index_mail *mail, int need_parts) data->body_size = data->parts->body_size; data->body_size_set = TRUE; - index_mail_cache_transaction_begin(mail); - if (!mail->mail.has_nuls && !mail->mail.has_no_nuls) { /* we know the NULs now, update them */ if ((data->parts->flags & MESSAGE_PART_FLAG_HAS_NULS) != 0) { diff --git a/src/lib-storage/index/index-mail.h b/src/lib-storage/index/index-mail.h index 0b035b3d29..391a16e4b6 100644 --- a/src/lib-storage/index/index-mail.h +++ b/src/lib-storage/index/index-mail.h @@ -77,7 +77,6 @@ int index_mail_parse_header(struct message_part *part, struct message_header_line *hdr, struct index_mail *mail); -void index_mail_cache_transaction_begin(struct index_mail *mail); int index_mail_parse_headers(struct index_mail *mail); void index_mail_headers_init(struct index_mail *mail); diff --git a/src/lib-storage/index/index-transaction.c b/src/lib-storage/index/index-transaction.c index 74a7a299a0..a076d19421 100644 --- a/src/lib-storage/index/index-transaction.c +++ b/src/lib-storage/index/index-transaction.c @@ -11,6 +11,7 @@ void index_transaction_init(struct index_transaction_context *t, t->trans = mail_index_transaction_begin(ibox->view, hide); t->trans_view = mail_index_transaction_open_updated_view(t->trans); t->cache_view = mail_cache_view_open(ibox->cache, t->trans_view); + t->cache_trans = mail_cache_get_transaction(t->cache_view, t->trans); } static void index_transaction_free(struct index_transaction_context *t)