if (mdata->reopen & IMAP_EXPUNGE_PENDING)
{
mutt_debug(2, "Expunging mailbox\n");
- imap_expunge_mailbox(adata);
+ imap_expunge_mailbox(adata->mailbox);
}
// Then add new emails to it
* while something has a handle on any headers (eg inside pager or editor).
* That is, check IMAP_REOPEN_ALLOW.
*/
-void imap_expunge_mailbox(struct ImapAccountData *adata)
+void imap_expunge_mailbox(struct Mailbox *m)
{
- if (!adata || !adata->mailbox)
+ struct ImapAccountData *adata = imap_adata_get(m);
+ struct ImapMboxData *mdata = imap_mdata_get(m);
+ if (!adata || !mdata)
return;
struct Email *e = NULL;
int cacheno;
short old_sort;
- struct ImapMboxData *mdata = adata->mailbox->mdata;
+
#ifdef USE_HCACHE
mdata->hcache = imap_hcache_open(adata, mdata);
int imap_open_connection(struct ImapAccountData *adata);
void imap_close_connection(struct ImapAccountData *adata);
int imap_read_literal(FILE *fp, struct ImapAccountData *adata, unsigned long bytes, struct Progress *pbar);
-void imap_expunge_mailbox(struct ImapAccountData *adata);
+void imap_expunge_mailbox(struct Mailbox *m);
int imap_login(struct ImapAccountData *adata);
int imap_sync_message_for_copy(struct ImapAccountData *adata, struct Email *e, struct Buffer *cmd, int *err_continue);
bool imap_has_flag(struct ListHead *flag_list, const char *flag);
if (mdata->reopen & IMAP_EXPUNGE_PENDING)
{
imap_hcache_close(mdata);
- imap_expunge_mailbox(adata);
+ imap_expunge_mailbox(m);
mdata->hcache = imap_hcache_open(adata, mdata);
mdata->reopen &= ~IMAP_EXPUNGE_PENDING;
}