static header_cache_t *pop_hcache_open (POP_DATA *pop_data, const char *path) { ciss_url_t url; char p[LONG_STRING]; if (!pop_data || !pop_data->conn) return mutt_hcache_open (HeaderCache, path, NULL); mutt_account_tourl (&pop_data->conn->account, &url); url.path = HC_FNAME; url_ciss_tostring (&url, p, sizeof (p), U_PATH); return mutt_hcache_open (HeaderCache, p, pop_hcache_namer); }
header_cache_t* imap_hcache_open (IMAP_DATA* idata, const char* path) { IMAP_MBOX mx; ciss_url_t url; char cachepath[LONG_STRING]; char mbox[LONG_STRING]; if (path) imap_cachepath (idata, path, mbox, sizeof (mbox)); else { if (!idata->ctx || imap_parse_path (idata->ctx->path, &mx) < 0) return NULL; imap_cachepath (idata, mx.mbox, mbox, sizeof (mbox)); FREE (&mx.mbox); } mutt_account_tourl (&idata->conn->account, &url); url.path = mbox; url_ciss_tostring (&url, cachepath, sizeof (cachepath), U_PATH); return mutt_hcache_open (HeaderCache, cachepath, imap_hcache_namer); }