NS_MsgSACat(&newBody, *body);
if (*body) NS_MsgSACat(&newBody, *body);
mime_insert_micro_headers(char            **body,                          MimeHeaders     *headers,                          MSG_ComposeFormat composeFormat,                          char            *mailcharset){  char *newBody = NULL;  char *subject = MimeHeaders_get(headers, HEADER_SUBJECT, PR_FALSE, PR_FALSE);  char *from = MimeHeaders_get(headers, HEADER_FROM, PR_FALSE, PR_TRUE);  char *resent_from = MimeHeaders_get(headers, HEADER_RESENT_FROM, PR_FALSE,                    PR_TRUE);   char *date = MimeHeaders_get(headers, HEADER_DATE, PR_FALSE, PR_TRUE);  char *to = MimeHeaders_get(headers, HEADER_TO, PR_FALSE, PR_TRUE);  char *cc = MimeHeaders_get(headers, HEADER_CC, PR_FALSE, PR_TRUE);  char *newsgroups = MimeHeaders_get(headers, HEADER_NEWSGROUPS, PR_FALSE,                     PR_TRUE);  const char *html_tag = PL_strcasestr(*body, "<HTML>");  PRBool htmlEdit = composeFormat == nsIMsgCompFormat::HTML;    if (!from)    from = MimeHeaders_get(headers, HEADER_SENDER, PR_FALSE, PR_TRUE);  if (!resent_from)    resent_from = MimeHeaders_get(headers, HEADER_RESENT_SENDER, PR_FALSE,                    PR_TRUE);   if (!date)    date = MimeHeaders_get(headers, HEADER_RESENT_DATE, PR_FALSE, PR_TRUE);    if (htmlEdit)  {    NS_MsgSACopy(&(newBody), "<HTML> <BR><BR>");    NS_MsgSACat(&newBody, MimeGetNamedString(MIME_FORWARDED_MESSAGE_HTML_USER_WROTE));    NS_MsgSACat(&newBody, MIME_HEADER_TABLE);  }  else  {    NS_MsgSACopy(&(newBody), MSG_LINEBREAK MSG_LINEBREAK);    NS_MsgSACat(&newBody, MimeGetNamedString(MIME_FORWARDED_MESSAGE_HTML_USER_WROTE));  }  if (from)  {    if (htmlEdit)       mime_fix_up_html_address(&from);    mime_intl_insert_message_header_1(&newBody, &from, HEADER_FROM,                    MimeGetNamedString(MIME_MHTML_FROM),                    mailcharset, htmlEdit);  }  if (subject)    mime_intl_insert_message_header_1(&newBody, &subject, HEADER_SUBJECT,                    MimeGetNamedString(MIME_MHTML_SUBJECT),                      mailcharset, htmlEdit);/*  if (date)    mime_intl_insert_message_header_1(&newBody, &date, HEADER_DATE,                    MimeGetNamedString(MIME_MHTML_DATE),                    mailcharset, htmlEdit);*/  if (resent_from)  {    if (htmlEdit) mime_fix_up_html_address(&resent_from);    mime_intl_insert_message_header_1(&newBody, &resent_from,                    HEADER_RESENT_FROM,                    MimeGetNamedString(MIME_MHTML_RESENT_FROM),                    mailcharset, htmlEdit);  }  if (to)  {    if (htmlEdit) mime_fix_up_html_address(&to);    mime_intl_insert_message_header_1(&newBody, &to, HEADER_TO,                    MimeGetNamedString(MIME_MHTML_TO),                    mailcharset, htmlEdit);  }  if (cc)  {    if (htmlEdit) mime_fix_up_html_address(&cc);    mime_intl_insert_message_header_1(&newBody, &cc, HEADER_CC,                    MimeGetNamedString(MIME_MHTML_CC),                    mailcharset, htmlEdit);  }  /*    Do not reveal bcc recipients when forwarding a message!    See http://bugzilla.mozilla.org/show_bug.cgi?id=41150  */  if (newsgroups)    mime_intl_insert_message_header_1(&newBody, &newsgroups, HEADER_NEWSGROUPS,                    MimeGetNamedString(MIME_MHTML_NEWSGROUPS),                    mailcharset, htmlEdit);  if (htmlEdit)  {    NS_MsgSACat(&newBody, "</TABLE>");    NS_MsgSACat(&newBody, MSG_LINEBREAK "<BR><BR>");    if (html_tag)      NS_MsgSACat(&newBody, html_tag+6);    else      NS_MsgSACat(&newBody, *body);  }  else  {    NS_MsgSACat(&newBody, MSG_LINEBREAK MSG_LINEBREAK);    NS_MsgSACat(&newBody, *body);  }  if (newBody)  {    PR_Free(*body);    *body = newBody;  }  PR_FREEIF(subject);  PR_FREEIF(from);  PR_FREEIF(resent_from);  PR_FREEIF(date);  PR_FREEIF(to);  PR_FREEIF(cc);  PR_FREEIF(newsgroups);}