]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Always create cache transaction. Easier that way .. and fixes a crash.
authorTimo Sirainen <tss@iki.fi>
Fri, 9 Jul 2004 00:10:37 +0000 (03:10 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 9 Jul 2004 00:10:37 +0000 (03:10 +0300)
--HG--
branch : HEAD

src/lib-storage/index/index-mail-headers.c
src/lib-storage/index/index-mail.c
src/lib-storage/index/index-mail.h
src/lib-storage/index/index-transaction.c

index ee353ba7b82fd005223e9ba1d66b37d3bef13c0e..273e2f6a930f9a555530cbc26efb6786f02a4419 100644 (file)
@@ -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;
 }
 
index 216bd36ed1d4eb42b6b2cce2ccd7993ea2273814..5713aad62a6c3b6a4add192aa7294a2c960f6c35 100644 (file)
@@ -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) {
index 0b035b3d29cf78d3be9000e56b4a48507f7e40db..391a16e4b6289596246a3f007947341c8adfd5de 100644 (file)
@@ -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);
index 74a7a299a0ee1f4b845a8ff27bcc565d177c5fbd..a076d194219cbd9e341ae7a13777fc20d29f00a2 100644 (file)
@@ -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)