Submitted By: Andrew Benton Date: 2012-03-18 Initial Package Version: 11.0 Upstream Status: Submitted to Mozilla Bugzilla bug #733867 (not by me) Origin: partly from http://gcc.gnu.org/gcc-4.7/porting_to.html and partly from Mozilla Bugzilla bug #733867 Description: Fixes compiling thunderbird-11.0 with gcc-4.7 The same effect can be achieved with these seds: sed -i 's:#if defined(ANDROID):& || defined(OS_POSIX):' \ mozilla/ipc/chromium/src/base/file_util.cc sed -i '/fcntl.h/a#include ' \ mozilla/ipc/chromium/src/base/file_util_linux.cc sed -i '/fcntl.h/a#include ' \ mozilla/ipc/chromium/src/base/message_pump_libevent.cc sed -i '/sys\/time\.h/a#include ' \ mozilla/ipc/chromium/src/base/time_posix.cc sed -i 's#"MSG_LINEBREAK#" MSG_LINEBREAK#g;s#"CRLF#" CRLF#g' \ mailnews/mime/src/mimemult.cpp \ mailnews/mime/src/mimedrft.cpp \ mailnews/local/src/nsPop3Protocol.cpp \ mailnews/imap/src/nsImapServerResponseParser.cpp \ mailnews/imap/src/nsImapProtocol.cpp \ mailnews/imap/src/nsImapMailFolder.cpp \ mailnews/compose/src/nsSmtpProtocol.cpp \ mailnews/base/src/nsMsgFolderCompactor.cpp \ mailnews/base/search/src/nsMsgSearchAdapter.cpp diff -Naur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp --- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-03-13 02:36:48.000000000 +0000 +++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-03-18 01:40:32.412278537 +0000 @@ -688,7 +688,7 @@ PL_strcat(encoding, "{"); lengthStr.AppendInt((PRInt32) strlen(value)); PL_strcat(encoding, lengthStr.get()); - PL_strcat(encoding, "}"CRLF); + PL_strcat(encoding, "}" CRLF); PL_strcat(encoding, value); return NS_OK; } diff -Naur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp --- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-03-18 01:40:32.408945228 +0000 @@ -753,7 +753,7 @@ } } } -#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK +#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK // if status offset isn't in the first block, this code won't work. There's no good reason // for the status offset not to be at the beginning of the message anyway. @@ -1203,7 +1203,7 @@ // check if there's an envelope header; if not, write one. if (strncmp(m_dataBuffer, "From ", 5)) { - m_fileStream->Write("From "CRLF, 7, &bytesWritten); + m_fileStream->Write("From " CRLF, 7, &bytesWritten); m_offlineMsgSize += bytesWritten; } } diff -Naur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp --- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-03-18 01:40:32.405611919 +0000 @@ -1722,7 +1722,7 @@ { m_sendDone = PR_TRUE; nsCOMPtr url = do_QueryInterface(m_runningURL); - SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server. + SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server. m_nextState = SMTP_RESPONSE; m_nextStateAfterResponse = SMTP_DONE; return(0); @@ -1969,7 +1969,7 @@ { nsCOMPtr url = do_QueryInterface(m_runningURL); // send a quit command to close the connection with the server. - if (SendData(url, "QUIT"CRLF) == NS_OK) + if (SendData(url, "QUIT" CRLF) == NS_OK) { m_nextState = SMTP_RESPONSE; m_nextStateAfterResponse = SMTP_ERROR_DONE; diff -Naur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp --- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-03-18 01:40:32.398945298 +0000 @@ -8298,7 +8298,7 @@ bool needMoreData = false; char * newLine = nsnull; PRUint32 numBytesInLine = 0; - const char *envelope = "From "CRLF; + const char *envelope = "From " CRLF; offlineStore->Write(envelope, strlen(envelope), &bytesWritten); fileSize += bytesWritten; do diff -Naur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp --- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-03-18 01:40:32.378945438 +0000 @@ -1410,7 +1410,7 @@ { // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages(); nsCAutoString commandBuffer(GetServerCommandTag()); - commandBuffer.Append(" IDLE"CRLF); + commandBuffer.Append(" IDLE" CRLF); do { @@ -3290,7 +3290,7 @@ commandString.Append(messageIds); commandString.Append(" ("); commandString.Append(attribute); - commandString.Append(")"CRLF); + commandString.Append(")" CRLF); nsresult rv = SendData(commandString.get()); if (NS_SUCCEEDED(rv)) @@ -5283,7 +5283,7 @@ IncrementCommandTagNumber(); nsCAutoString command(GetServerCommandTag()); - command.Append(" expunge"CRLF); + command.Append(" expunge" CRLF); nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) @@ -5359,7 +5359,7 @@ command.Append(gAppName); command.Append("\" \"version\" \""); command.Append(gAppVersion); - command.Append("\")"CRLF); + command.Append("\")" CRLF); nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) @@ -5816,7 +5816,7 @@ nsCAutoString correctedPassword; EscapeUserNamePasswordString(password.get(), &correctedPassword); command.Append(correctedPassword); - command.Append("\""CRLF); + command.Append("\"" CRLF); rv = SendData(command.get(), PR_TRUE /* suppress logging */); NS_ENSURE_SUCCESS(rv, rv); ParseIMAPandCheckForNewMail(); @@ -7446,7 +7446,7 @@ nsCString command(GetServerCommandTag()); command += " create \""; command += escapedName; - command += "\""CRLF; + command += "\"" CRLF; nsresult rv = SendData(command.get()); if(NS_SUCCEEDED(rv)) @@ -7549,7 +7549,7 @@ nsCString command (GetServerCommandTag()); command += " lsub \"\" \""; command += escapedPattern; - command += "\""CRLF; + command += "\"" CRLF; PR_Free(boxnameWithOnlineDirectory); @@ -7578,7 +7578,7 @@ command += useXLIST ? " xlist \"\" \"" : " list \"\" \""; command += escapedPattern; - command += "\""CRLF; + command += "\"" CRLF; PR_Free(boxnameWithOnlineDirectory); @@ -7599,7 +7599,7 @@ nsCString command (GetServerCommandTag()); command += " subscribe \""; command += escapedName; - command += "\""CRLF; + command += "\"" CRLF; nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) @@ -7617,7 +7617,7 @@ nsCString command (GetServerCommandTag()); command += " unsubscribe \""; command += escapedName; - command += "\""CRLF; + command += "\"" CRLF; nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) @@ -7631,7 +7631,7 @@ if (m_urlInProgress) return; nsCAutoString command (GetServerCommandTag()); - command += " IDLE"CRLF; + command += " IDLE" CRLF; nsresult rv = SendData(command.get()); if (NS_SUCCEEDED(rv)) { @@ -7658,7 +7658,7 @@ nsCOMPtr asyncInputStream = do_QueryInterface(m_inputStream); if (asyncInputStream) asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull); - nsresult rv = SendData("DONE"CRLF); + nsresult rv = SendData("DONE" CRLF); // set a short timeout if we don't want to wait for a response if (m_transport && !waitForResponse) m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5); @@ -7727,8 +7727,8 @@ PRUint32 msgsHandled = 0; const char *formatString; formatString = (idsAreUid) - ? "%s uid store %s %s"CRLF - : "%s store %s %s"CRLF; + ? "%s uid store %s %s" CRLF + : "%s store %s %s" CRLF; do { diff -Naur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp --- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-03-18 01:40:32.355612267 +0000 @@ -185,7 +185,7 @@ NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' && *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string"); - bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF); + bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF); if (sendingIdleDone) fWaitingForMoreClientInput = PR_FALSE; diff -Naur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp --- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-03-18 01:40:32.348945647 +0000 @@ -2483,7 +2483,7 @@ return(MK_OUT_OF_MEMORY); m_pop3ConData->next_state_after_response = POP3_GET_LIST; m_listpos = 0; - return SendData(m_url, "LIST"CRLF); + return SendData(m_url, "LIST" CRLF); } diff -Naur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp --- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-03-18 01:40:32.338945715 +0000 @@ -1473,7 +1473,7 @@ *newbody = 0; PL_strcatn(newbody, newbodylen, "
");
                 PL_strcatn(newbody, newbodylen, body);
-                PL_strcatn(newbody, newbodylen, "
"CRLF); + PL_strcatn(newbody, newbodylen, "" CRLF); PR_Free(body); body = newbody; } diff -Naur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp --- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-03-13 02:36:49.000000000 +0000 +++ comm-release/mailnews/mime/src/mimemult.cpp 2012-03-18 01:40:32.332279095 +0000 @@ -280,7 +280,7 @@ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\"")); MimeWriteAString(obj, fileName); - MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: ")); MimeWriteAString(obj, obj->options->state->detachedFilePath); MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK)); @@ -293,10 +293,10 @@ status = MimeWriteAString(obj, header); if (status < 0) return status; - status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK)); + status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK"Content-Transfer-Encoding: 8bit" MSG_LINEBREAK)); MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: ")); MimeWriteAString(obj, fileName); - MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\"")); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\"")); } nsCString result; char timeBuffer[128]; @@ -306,8 +306,8 @@ "%a %b %d %H:%M:%S %Y", &now); MimeWriteAString(obj, nsDependentCString(timeBuffer)); - MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK)); - MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK)); + MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK)); MimeHeaders_write_raw_headers(mult->hdrs, obj->options, PR_FALSE); } PRInt32 old_nchildren = container->nchildren; diff -Naur comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc comm-release/mozilla/ipc/chromium/src/base/file_util.cc --- comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc 2012-03-13 02:42:46.000000000 +0000 +++ comm-release/mozilla/ipc/chromium/src/base/file_util.cc 2012-03-18 01:40:32.308945924 +0000 @@ -8,7 +8,7 @@ #include #endif #include -#if defined(ANDROID) +#if defined(ANDROID) || defined(OS_POSIX) #include #endif diff -Naur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc --- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-03-13 02:42:46.000000000 +0000 +++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-03-18 01:40:32.312279234 +0000 @@ -5,6 +5,7 @@ #include "base/file_util.h" #include +#include #include #include diff -Naur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc --- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-03-13 02:42:47.000000000 +0000 +++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-03-18 01:40:32.318945855 +0000 @@ -6,6 +6,7 @@ #include #include +#include #include "eintr_wrapper.h" #include "base/logging.h" diff -Naur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc --- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-03-13 02:42:47.000000000 +0000 +++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-03-18 01:40:32.322279165 +0000 @@ -8,6 +8,7 @@ #include #endif #include +#include #ifdef ANDROID #include #else