((IMAP_DATA *) ctx->data)->status = IMAP_EXPUNGE;
CTX_DATA->status = IMAP_EXPUNGE;
int imap_sync_mailbox (CONTEXT *ctx){  char seq[8];  char buf[LONG_STRING];  char tmp[LONG_STRING];  int n;  /* save status changes */  for (n = 0; n < ctx->msgcount; n++)  {    snprintf (tmp, sizeof (tmp), "Saving message status flags... [%d/%d]", n+1,       ctx->msgcount);    mutt_message (tmp);    if (ctx->hdrs[n]->deleted || ctx->hdrs[n]->changed)    {      *tmp = 0;      if (ctx->hdrs[n]->read)	strcat (tmp, "\\Seen ");      if (ctx->hdrs[n]->flagged)	strcat (tmp, "\\Flagged ");      if (ctx->hdrs[n]->replied)	strcat (tmp, "\\Answered ");      if (ctx->hdrs[n]->deleted)        strcat (tmp, "\\Deleted");      mutt_remove_trailing_ws (tmp);      if (!*tmp) continue; /* imapd doesn't like empty flags. */      imap_make_sequence (seq, sizeof (seq), ctx);      snprintf (buf, sizeof (buf), "%s STORE %d FLAGS.SILENT (%s)\r\n", seq,       	ctx->hdrs[n]->index + 1, tmp);      if (imap_exec (buf, sizeof (buf), ctx, seq, buf) != 0)      {	imap_error ("imap_sync_mailbox()", buf);	return (-1);      }    }  }  mutt_message ("Expunging messages from server...");  ((IMAP_DATA *) ctx->data)->status = IMAP_EXPUNGE;  imap_make_sequence (seq, sizeof (seq), ctx);  snprintf (buf, sizeof (buf), "%s EXPUNGE\r\n", seq);  if (imap_exec (buf, sizeof (buf), ctx, seq, buf) != 0)  {    imap_error ("imap_sync_mailbox()", buf);    return (-1);  }  ((IMAP_DATA *) ctx->data)->status = 0;  /* WARNING: Messages need to be reindexed at this point after the expunge, or */  /* mutt will become -very- confused unless it's quitting. */  return 0;}