M_FORMAT_FORCESUBJ | M_FORMAT_MAKEPRINT);
M_FORMAT_FORCESUBJ | M_FORMAT_MAKEPRINT | M_FORMAT_ARROWCURSOR);
const char *mutt_attach_fmt (char *dest,    size_t destlen,    char op,    const char *src,    const char *prefix,    const char *ifstring,    const char *elsestring,    unsigned long data,    format_flag flags){  char fmt[16];  ATTACHPTR *aptr = (ATTACHPTR *) data;  switch (op)  {    case 'd':      snprintf (fmt, sizeof (fmt), "%%%ss", prefix);      if (aptr->content->description)      {	snprintf (dest, destlen, fmt, aptr->content->description);	break;      }      if (mutt_is_message_type(aptr->content->type, aptr->content->subtype) &&	  MsgFmt && aptr->content->hdr)      {	char s[SHORT_STRING];	_mutt_make_string (s, sizeof (s), MsgFmt, NULL, aptr->content->hdr,	    M_FORMAT_FORCESUBJ | M_FORMAT_MAKEPRINT);	if (*s)	{	  snprintf (dest, destlen, fmt, s);	  break;	}      }      if (!aptr->content->filename)      {	snprintf (dest, destlen, fmt, "<no description>");	break;      }      /* FALLS THROUGH TO 'f' */    case 'f':      snprintf (fmt, sizeof (fmt), "%%%ss", prefix);      if (aptr->content->filename && *aptr->content->filename == '/')      {	  char path[_POSIX_PATH_MAX];	  	  strfcpy (path, aptr->content->filename, sizeof (path));	  mutt_pretty_mailbox (path);	  snprintf (dest, destlen, fmt, path);      }      else	  snprintf (dest, destlen, fmt, NONULL (aptr->content->filename));      break;    case 'D':      snprintf (dest, destlen, "%c", aptr->content->deleted ? 'D' : ' ');      break;    case 'e':      snprintf (fmt, sizeof (fmt), "%%%ss", prefix);      snprintf (dest, destlen, fmt, ENCODING (aptr->content->encoding));      break;    case 'm':      snprintf (fmt, sizeof (fmt), "%%%ss", prefix);      snprintf (dest, destlen, fmt, TYPE (aptr->content));      break;    case 'M':      snprintf (fmt, sizeof (fmt), "%%%ss", prefix);      snprintf (dest, destlen, fmt, aptr->content->subtype);      break;    case 'n':      snprintf (fmt, sizeof (fmt), "%%%sd", prefix);      snprintf (dest, destlen, fmt, aptr->num + 1);      break;    case 's':      if (flags & M_FORMAT_STAT_FILE)      {	  struct stat st;	  stat (aptr->content->filename, &st);	  mutt_pretty_size (dest, destlen, st.st_size);      }      else	  mutt_pretty_size (dest, destlen, aptr->content->length);      break;    case 't':      snprintf (dest, destlen, "%c", aptr->content->tagged ? '*' : ' ');      break;    case 'T':      snprintf (dest, destlen, "%s", NONULL (aptr->tree));      break;    case 'u':      snprintf (dest, destlen, "%c", aptr->content->unlink ? '-' : ' ');      break;    default:      *dest = 0;  }  return (src);}