mutt_error ("No postponed messages.");
mutt_error _("No postponed messages.");
int mutt_get_postponed (CONTEXT *ctx, HEADER *hdr, HEADER **cur){  HEADER *h;  int code = SENDPOSTPONED;  LIST *tmp;  LIST *last = NULL;  LIST *next;  char *p;  int opt_delete;  if (!Postponed)    return (-1);  if ((PostContext = mx_open_mailbox (Postponed, M_NOSORT, NULL)) == NULL)  {    PostCount = 0;    mutt_error ("No postponed messages.");    return (-1);  }    if (! PostContext->msgcount)  {    PostCount = 0;    mx_close_mailbox (PostContext);    safe_free ((void **) &PostContext);    mutt_error ("No postponed messages.");    return (-1);  }  if (PostContext->msgcount == 1)  {    /* only one message, so just use that one. */    h = PostContext->hdrs[0];  }  else if ((h = select_msg ()) == NULL)  {    mx_close_mailbox (PostContext);    safe_free ((void **) &PostContext);    return (-1);  }  if (mutt_edit_message (PostContext, hdr, h) < 0)  {      mx_fastclose_mailbox (PostContext);      safe_free ((void **) &PostContext);      return (-1);  }  /* finished with this message, so delete it. */  mutt_set_flag (PostContext, h, M_DELETE, 1);  /* update the count for the status display */  PostCount = PostContext->msgcount - PostContext->deleted;  /* avoid the "purge deleted messages" prompt */  opt_delete = quadoption (OPT_DELETE);  set_quadoption (OPT_DELETE, M_YES);  mx_close_mailbox (PostContext);  set_quadoption (OPT_DELETE, opt_delete);  safe_free ((void **) &PostContext);  for (tmp = hdr->env->userhdrs; tmp; )  {    if (strncasecmp ("X-Mutt-References:", tmp->data, 18) == 0)    {      if (ctx)      {	/* if a mailbox is currently open, look to see if the orignal message	   the user attempted to reply to is in this mailbox */	p = tmp->data + 18;	SKIPWS (p);	*cur = hash_find (ctx->id_hash, p);      }      /* Remove the X-Mutt-References: header field. */      next = tmp->next;      if (last)	last->next = tmp->next;      else	hdr->env->userhdrs = tmp->next;      tmp->next = NULL;      mutt_free_list (&tmp);      tmp = next;      if (*cur)	code |= SENDREPLY;    }#ifdef _PGPPATH    else if (strncmp ("Pgp:", tmp->data, 4) == 0)    {      hdr->pgp = mutt_parse_pgp_hdr (tmp->data+4, 1);             /* remove the pgp field */      next = tmp->next;      if (last)	last->next = tmp->next;      else	hdr->env->userhdrs = tmp->next;      tmp->next = NULL;      mutt_free_list (&tmp);      tmp = next;    }#endif /* _PGPPATH */    else    {      last = tmp;      tmp = tmp->next;    }  }  return (code);}