static bool get_cache_file_seq(struct mail_index_view *view, uint32_t *cache_file_seq_r) { const struct mail_index_ext *ext; ext = mail_index_view_get_ext(view, view->index->cache->ext_id); if (ext == NULL) return FALSE; *cache_file_seq_r = ext->reset_id; return TRUE; }
static uint32_t get_next_file_seq(struct mail_cache *cache) { const struct mail_index_ext *ext; struct mail_index_view *view; uint32_t file_seq; /* make sure we look up the latest reset_id */ if (mail_index_refresh(cache->index) < 0) return -1; view = mail_index_view_open(cache->index); ext = mail_index_view_get_ext(view, cache->ext_id); file_seq = ext != NULL ? ext->reset_id + 1 : (uint32_t)ioloop_time; if (cache->hdr != NULL && file_seq <= cache->hdr->file_seq) file_seq = cache->hdr->file_seq + 1; mail_index_view_close(&view); return file_seq != 0 ? file_seq : 1; }