!nsCRT::strcasecmp (child->content_type, TEXT_MDL) || !nsCRT::strcasecmp (child->content_type, MULTIPART_ALTERNATIVE) || !nsCRT::strcasecmp (child->content_type, MULTIPART_RELATED))
!nsCRT::strcasecmp (child->content_type, TEXT_MDL))
BuildAttachmentList(MimeObject *anObject, nsMsgAttachmentData *aAttachData, const char *aMessageURL){  nsresult              rv;  PRInt32               i;  MimeContainer         *cobj = (MimeContainer *) anObject;  if ( (!anObject) || (!cobj->children) || (!cobj->nchildren) ||       (mime_typep(anObject, (MimeObjectClass *)&mimeExternalBodyClass)))    return NS_OK;  for (i = 0; i < cobj->nchildren ; i++)   {    MimeObject    *child = cobj->children[i];    // Skip the first child if it's in fact a message body    if (i == 0)                                         // it's the first child      if (child->content_type)                          // and it's content-type is one of folowing...        if (!nsCRT::strcasecmp (child->content_type, TEXT_PLAIN) ||            !nsCRT::strcasecmp (child->content_type, TEXT_HTML) ||            !nsCRT::strcasecmp (child->content_type, TEXT_MDL) ||            !nsCRT::strcasecmp (child->content_type, MULTIPART_ALTERNATIVE) ||            !nsCRT::strcasecmp (child->content_type, MULTIPART_RELATED))        {          if (child->headers) // and finally, be sure it doesn't have a content-disposition: attachment           {            char * disp = MimeHeaders_get (child->headers, HEADER_CONTENT_DISPOSITION, PR_TRUE, PR_FALSE);            if (!disp || nsCRT::strcasecmp (disp, "attachment"))              continue;          }          else            continue;        }        // We should generate an attachment for leaf object only but...    PRBool isALeafObject = mime_subclass_p(child->clazz, (MimeObjectClass *) &mimeLeafClass);    // ...we will generate an attachment for inline message too.    PRBool isAnInlineMessage = mime_typep(child, (MimeObjectClass *) &mimeMessageClass);        // AppleDouble part need special care: we need to fetch the part as well its two    // children for the needed info as they could be anywhere, eventually, they won't contain    // a name or file name. In any case we need to build only one attachment data    PRBool isAnAppleDoublePart = mime_typep(child, (MimeObjectClass *) &mimeMultipartAppleDoubleClass) &&                                 ((MimeContainer *)child)->nchildren == 2;    if (isALeafObject || isAnInlineMessage || isAnAppleDoublePart)    {      rv = GenerateAttachmentData(child, aMessageURL, anObject->options, isAnAppleDoublePart, aAttachData);      NS_ENSURE_SUCCESS(rv, rv);    }        // Now build the attachment list for the children of our object...    if (!isALeafObject && !isAnAppleDoublePart)    {      rv = BuildAttachmentList((MimeObject *)child, aAttachData, aMessageURL);      NS_ENSURE_SUCCESS(rv, rv);    }  }  return NS_OK;}