mutt_message ("Content-Type changed to %s/%s.", TYPE (b), NONULL (b->subtype));
snprintf (tmp, sizeof (tmp), "%s/%s", TYPE (b), NONULL (b->subtype)); type_changed = mutt_strcmp (tmp, obuf); charset_changed = mutt_strcmp (charset, mutt_get_parameter ("charset", b->parameter));  if (type_changed) mutt_message (_("Content-Type changed to %s."), tmp); else if (b->type == TYPETEXT && charset_changed) mutt_message (_("Character set changed to %s."), mutt_get_parameter ("charset", b->parameter));  b->force_charset |= charset_changed;
void mutt_edit_content_type (HEADER *h, BODY *b){  char buf[LONG_STRING];  char tmp[STRING];  PARAMETER *p;    snprintf (buf, sizeof (buf), "%s/%s", TYPE (b), b->subtype);  if (b->parameter)  {    size_t l;        for (p = b->parameter; p; p = p->next)    {      l = strlen (buf);      rfc822_cat (tmp, sizeof (tmp), p->value, MimeSpecials);      snprintf (buf + l, sizeof (buf) - l, "; %s=%s", p->attribute, tmp);    }  }    if (mutt_get_field ("Content-Type: ", buf, sizeof (buf), 0) != 0 ||      buf[0] == 0)    return;    /* clean up previous junk */  mutt_free_parameter (&b->parameter);  FREE (&b->subtype);    mutt_parse_content_type (buf, b);    mutt_message ("Content-Type changed to %s/%s.", TYPE (b),		NONULL (b->subtype));    if (!is_multipart (b) && b->parts)    mutt_free_body (&b->parts);  if (!mutt_is_message_type (b->type, b->subtype) && b->hdr)  {    b->hdr->content = NULL;    mutt_free_header (&b->hdr);  }#ifdef HAVE_PGP  if (h)  {    if (h->content == b)      h->pgp = 0;    h->pgp |= pgp_query (b);  }#endif /* HAVE_PGP */}