if (!ct) return PR_FALSE;
MimeMultipartAlternative_display_part_p(MimeObject *self,                    MimeHeaders *sub_hdrs){  char *ct = MimeHeaders_get (sub_hdrs, HEADER_CONTENT_TYPE, PR_TRUE, PR_FALSE);  /* RFC 1521 says:     Receiving user agents should pick and display the last format     they are capable of displaying.  In the case where one of the     alternatives is itself of type "multipart" and contains unrecognized     sub-parts, the user agent may choose either to show that alternative,     an earlier alternative, or both.   Ugh.  If there is a multipart subtype of alternative, we simply show   that, without descending into it to determine if any of its sub-parts   are themselves unknown.   */  // prefer_plaintext pref  nsIPref *pref = GetPrefServiceManager(self->options);   PRBool prefer_plaintext = PR_FALSE;  if (pref)    (void)pref->GetBoolPref("mailnews.display.prefer_plaintext",                            &prefer_plaintext);  if (prefer_plaintext      && self->options->format_out != nsMimeOutput::nsMimeMessageSaveAs      && (!nsCRT::strncasecmp(ct, "text/html", 9) ||          !nsCRT::strncasecmp(ct, "text/enriched", 13) ||          !nsCRT::strncasecmp(ct, "text/richtext", 13))     )    // if the user prefers plaintext and this is the "rich" (e.g. HTML) part...  {#if DEBUG    printf ("Ignoring %s alternative\n", ct);#endif    return PR_FALSE;  }#if DEBUG  printf ("Considering %s alternative\n", ct);#endif  MimeObjectClass *clazz = mime_find_class (ct, sub_hdrs, self->options, PR_TRUE);  PRBool result = (clazz          ? clazz->displayable_inline_p(clazz, sub_hdrs)          : PR_FALSE);  PR_FREEIF(ct);  return result;}