From: Mehdi Abaakouk Date: Sat, 8 Dec 2018 13:35:32 +0000 (+0100) Subject: imap: imap_expunge_mailbox should take Mailbox as argument X-Git-Tag: 2019-10-25~453 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b29a2aaf6671f0df083cbca304ae57a79712bdb8;p=neomutt imap: imap_expunge_mailbox should take Mailbox as argument --- diff --git a/imap/command.c b/imap/command.c index b9923ff4d..6bbb6a262 100644 --- a/imap/command.c +++ b/imap/command.c @@ -1313,7 +1313,7 @@ void imap_cmd_finish(struct ImapAccountData *adata) 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 diff --git a/imap/imap.c b/imap/imap.c index 14c9bbe4f..54a3cc85f 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -771,15 +771,17 @@ int imap_read_literal(FILE *fp, struct ImapAccountData *adata, * 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); diff --git a/imap/imap_private.h b/imap/imap_private.h index 9c73a03fa..9efc471d9 100644 --- a/imap/imap_private.h +++ b/imap/imap_private.h @@ -280,7 +280,7 @@ int imap_exec_msgset(struct ImapAccountData *adata, const char *pre, const char 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); diff --git a/imap/message.c b/imap/message.c index a6ddd6912..209d23437 100644 --- a/imap/message.c +++ b/imap/message.c @@ -966,7 +966,7 @@ static int read_headers_condstore_qresync_updates(struct ImapAccountData *adata, 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; }