if (expunge == M_YES)
if (expunge == 1)
int imap_sync_mailbox (CONTEXT *ctx, int expunge){  char seq[8];  char buf[LONG_STRING];  char flags[LONG_STRING];  int n;  /* save status changes */  for (n = 0; n < ctx->msgcount; n++)  {    if (ctx->hdrs[n]->deleted || ctx->hdrs[n]->changed)    {      snprintf (buf, sizeof (buf), _("Saving message status flags... [%d/%d]"),		n+1, ctx->msgcount);      mutt_message (buf);            flags[0] = '\0';            imap_set_flag (ctx, IMAP_ACL_SEEN, ctx->hdrs[n]->read, "\\Seen ",        flags);      imap_set_flag (ctx, IMAP_ACL_WRITE, ctx->hdrs[n]->flagged, "\\Flagged ",        flags);      imap_set_flag (ctx, IMAP_ACL_WRITE, ctx->hdrs[n]->replied,        "\\Answered ", flags);      imap_set_flag (ctx, IMAP_ACL_DELETE, ctx->hdrs[n]->deleted, "\\Deleted ",        flags);      /* now make sure we don't lose custom tags */      imap_stringify_flaglist (ctx->hdrs[n]->server_flags,        CTX_DATA->mailbox_flags, flags);            mutt_remove_trailing_ws (flags);            imap_make_sequence (seq, sizeof (seq));      snprintf (buf, sizeof (buf), "%s STORE %d FLAGS.SILENT (%s)\r\n", seq,        ctx->hdrs[n]->index + 1, NONULL(flags));      if (imap_exec (buf, sizeof (buf), CTX_DATA, seq, buf, 0) != 0)      {        imap_error ("imap_sync_mailbox()", buf);        return (-1);      }    }  }  if (expunge == M_YES)  {    if (mutt_bit_isset(CTX_DATA->rights, IMAP_ACL_DELETE))    {      mutt_message _("Expunging messages from server...");      CTX_DATA->status = IMAP_EXPUNGE;      imap_make_sequence (seq, sizeof (seq));      snprintf (buf, sizeof (buf), "%s EXPUNGE\r\n", seq);      if (imap_exec (buf, sizeof (buf), CTX_DATA, seq, buf, 0) != 0)      {        imap_error ("imap_sync_mailbox()", buf);        return (-1);      }      CTX_DATA->status = 0;    }  }  for (n = 0; n < IMAP_CACHE_LEN; n++)  {    if (CTX_DATA->cache[n].path)    {      unlink (CTX_DATA->cache[n].path);      safe_free ((void **) &CTX_DATA->cache[n].path);    }  }  return 0;}