diff --git a/mailnews/compose/src/nsMsgAttachmentHandler.cpp b/mailnews/compose/src/nsMsgAttachmentHandler.cpp index 12ac467650a1..d6b78ac01f35 100644 --- a/mailnews/compose/src/nsMsgAttachmentHandler.cpp +++ b/mailnews/compose/src/nsMsgAttachmentHandler.cpp @@ -466,18 +466,6 @@ FetcherURLDoneCallback(nsresult aStatus, ma->m_charset = PL_strdup(aCharset); } - if ( (!PL_strcasecmp(ma->m_real_name, "ForwardedMessage.eml")) && - (!PL_strcasecmp(ma->m_type, MESSAGE_RFC822)) - ) - { - char *subject = nsMsgParseSubjectFromFile(ma->mFileSpec); - if (subject) - { - PR_FREEIF(ma->m_real_name); - ma->m_real_name = subject; - } - } - return ma->UrlExit(aStatus, aMsg); } else @@ -495,8 +483,6 @@ nsMsgAttachmentHandler::SnarfMsgAttachment(nsMsgCompFields *compFields) mFileSpec = nsMsgCreateTempFileSpec("nsmail.tmp"); mDeleteFile = PR_TRUE; mCompFields = compFields; - PR_FREEIF(m_real_name); - m_real_name = PL_strdup("ForwardedMessage.eml"); PR_FREEIF(m_type); m_type = PL_strdup(MESSAGE_RFC822); PR_FREEIF(m_override_type); diff --git a/mailnews/compose/src/nsMsgSend.cpp b/mailnews/compose/src/nsMsgSend.cpp index 3222fc85e738..2458ba6f14c7 100644 --- a/mailnews/compose/src/nsMsgSend.cpp +++ b/mailnews/compose/src/nsMsgSend.cpp @@ -2209,7 +2209,7 @@ nsMsgComposeAndSend::AddCompFieldRemoteAttachments(PRUint32 aStartLocation, PRUint32 newLoc = aStartLocation; PRUint32 attachmentCount = 0; attachmentsArray->Count(&attachmentCount); - + //Parse the attachments array nsCOMPtr element; nsXPIDLCString url; @@ -2220,58 +2220,62 @@ nsMsgComposeAndSend::AddCompFieldRemoteAttachments(PRUint32 aStartLocation, { element->GetUrl(getter_Copies(url)); if (!url.IsEmpty()) - { - // Just look for files that are NOT local file attachments and do - // the right thing. - if (! nsMsgIsLocalFile(url.get())) { + // Just look for files that are NOT local file attachments and do + // the right thing. + if (! nsMsgIsLocalFile(url.get())) + { #if defined(DEBUG_ducarroz) printf("Adding REMOTE attachment %d: %s\n", newLoc, url.get()); #endif - m_attachments[newLoc].mDeleteFile = PR_TRUE; - m_attachments[newLoc].m_done = PR_FALSE; - m_attachments[newLoc].SetMimeDeliveryState(this); + m_attachments[newLoc].mDeleteFile = PR_TRUE; + m_attachments[newLoc].m_done = PR_FALSE; + m_attachments[newLoc].SetMimeDeliveryState(this); - nsMsgNewURL(getter_AddRefs(m_attachments[newLoc].mURL), url.get()); + nsMsgNewURL(getter_AddRefs(m_attachments[newLoc].mURL), url.get()); + + PR_FREEIF(m_attachments[newLoc].m_charset); + m_attachments[newLoc].m_charset = PL_strdup(mCompFields->GetCharacterSet()); + PR_FREEIF(m_attachments[newLoc].m_encoding); + m_attachments[newLoc].m_encoding = PL_strdup ("7bit"); - PR_FREEIF(m_attachments[newLoc].m_charset); - m_attachments[newLoc].m_charset = PL_strdup(mCompFields->GetCharacterSet()); - PR_FREEIF(m_attachments[newLoc].m_encoding); - m_attachments[newLoc].m_encoding = PL_strdup ("7bit"); - PR_FREEIF(m_attachments[newLoc].m_x_mac_type); element->GetMacType(&m_attachments[newLoc].m_x_mac_type); PR_FREEIF(m_attachments[newLoc].m_x_mac_creator); element->GetMacCreator(&m_attachments[newLoc].m_x_mac_creator); - /* Count up attachments which are going to come from mail folders - and from NNTP servers. */ + /* Count up attachments which are going to come from mail folders + and from NNTP servers. */ nsCAutoString strUrl; strUrl.Assign(url.get()); - if (m_attachments[newLoc].mURL) - { + PRBool do_add_attachment = PR_FALSE; + if (m_attachments[newLoc].mURL) + { + do_add_attachment = PR_TRUE; + } + else if (strUrl.Find("-message:") != -1) + { + do_add_attachment = PR_TRUE; + if (strUrl.Find("mailbox-message:") != -1 || + strUrl.Find("imap-message:") != -1) + (*aMailboxCount)++; + else if (strUrl.Find("news-message:") != -1) + (*aNewsCount)++; + + m_attachments[newLoc].m_uri = ToNewCString(strUrl); + } + if (do_add_attachment) + { nsXPIDLString proposedName; element->GetName(getter_Copies(proposedName)); msg_pick_real_name(&m_attachments[newLoc], proposedName, mCompFields->GetCharacterSet()); - ++newLoc; + ++newLoc; + } } - else if (strUrl.Find("-message:") != -1) - { - if (strUrl.Find("mailbox-message:") != -1 || - strUrl.Find("imap-message:") != -1) - (*aMailboxCount)++; - else if (strUrl.Find("news-message:") != -1 || - strUrl.Find("snews-message:") != -1) - (*aNewsCount)++; - - m_attachments[newLoc].m_uri = ToNewCString(strUrl); - ++newLoc; - } } } } - } return NS_OK; }