This probably never happened with current code, except when the cache file
was already broken.
mail_cache_compress() unmapped cache when map_with_read==TRUE, but we never
mapped it back. This would cause cache copying code to think cache was
unusable and not copy anything.
return mail_cache_reopen(cache) < 0 ? -1 : 0;
}
+ /* make sure we have mapped it before reading. */
+ if (mail_cache_map(cache, 0, 0, &data) < 0)
+ return -1;
/* we want to recreate the cache. write it first to a temporary file */
fd = mail_index_create_tmp_file(cache->index, cache->filepath, &temp_path);