]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
compression could have broken header lists
authorTimo Sirainen <tss@iki.fi>
Tue, 21 Oct 2003 03:25:03 +0000 (06:25 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 21 Oct 2003 03:25:03 +0000 (06:25 +0300)
--HG--
branch : HEAD

src/lib-index/mail-cache.c

index d1de10bd1b9530754d8e54d28496be6a3476db3e..e49742fa97ae605ce542a50ca213276bf18a0b1f 100644 (file)
@@ -784,8 +784,15 @@ int mail_cache_compress(struct mail_cache *cache)
                if (!mmap_update(cache, 0, 0))
                        ret = FALSE;
        }
-       cache->index->header->flags &= ~(MAIL_INDEX_HDR_FLAG_REBUILD |
-                                        MAIL_INDEX_HDR_FLAG_COMPRESS_CACHE);
+
+       /* headers could have changed, reread them */
+       memset(cache->split_offsets, 0, sizeof(cache->split_offsets));
+
+       if (ret) {
+               cache->index->header->flags &=
+                       ~(MAIL_INDEX_HDR_FLAG_REBUILD |
+                         MAIL_INDEX_HDR_FLAG_COMPRESS_CACHE);
+       }
 
        if (!mail_cache_unlock(cache))
                ret = FALSE;