From e661493bb0440e66b4c8af56a81c88e878dd1365 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 10 Nov 2019 21:16:23 -0500 Subject: Bug 1442648 - Fix mismatched types in mingw-w64 builds (const char16_t*/char16ptr_t). When cross-compiling for Windows on Linux, fix mismatched types in nsMsgImapSearch.cpp. nsString::get() returns a char16ptr_t (with MOZ_USE_CHAR16_WRAPPER) and that causes a mismatch so we cast it to a const char16_t*. usAsciiCharSet is declared as a nsAutoString so we instead declare it as a char16_t* to avoid subsequent type mismatches. Tag #1273 --- mailnews/base/search/src/nsMsgImapSearch.cpp | 10 +++++----- mailnews/compose/src/nsMsgCompUtils.cpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'mailnews') diff --git a/mailnews/base/search/src/nsMsgImapSearch.cpp b/mailnews/base/search/src/nsMsgImapSearch.cpp index 5b3b2698a..09442aeea 100644 --- a/mailnews/base/search/src/nsMsgImapSearch.cpp +++ b/mailnews/base/search/src/nsMsgImapSearch.cpp @@ -119,22 +119,22 @@ nsresult nsMsgSearchOnlineMail::Encode (nsCString& pEncoding, rv = searchValue->GetStr(pchar); if (NS_FAILED(rv) || pchar.IsEmpty()) continue; - asciiOnly = NS_IsAscii(pchar.get()); + asciiOnly = NS_IsAscii(static_cast(pchar.get())); } } } // else // asciiOnly = false; // TODO: enable this line when the condition is not a plain "true" in the if(). - nsAutoString usAsciiCharSet(NS_LITERAL_STRING("us-ascii")); + const char16_t* usAsciiCharSet = u"us-ascii"; // Get the optional CHARSET parameter, in case we need it. - char *csname = GetImapCharsetParam(asciiOnly ? usAsciiCharSet.get() : destCharset); + char *csname = GetImapCharsetParam(asciiOnly ? usAsciiCharSet : destCharset); // We do not need "srcCharset" since the search term in always unicode. // I just pass destCharset for both src and dest charset instead of removing srcCharst from the arguemnt. nsresult err = nsMsgSearchAdapter::EncodeImap (getter_Copies(imapTerms), searchTerms, - asciiOnly ? usAsciiCharSet.get(): destCharset, - asciiOnly ? usAsciiCharSet.get(): destCharset, false); + asciiOnly ? usAsciiCharSet : destCharset, + asciiOnly ? usAsciiCharSet : destCharset, false); if (NS_SUCCEEDED(err)) { pEncoding.Append("SEARCH"); diff --git a/mailnews/compose/src/nsMsgCompUtils.cpp b/mailnews/compose/src/nsMsgCompUtils.cpp index 4615f0f36..6632e3257 100644 --- a/mailnews/compose/src/nsMsgCompUtils.cpp +++ b/mailnews/compose/src/nsMsgCompUtils.cpp @@ -975,7 +975,7 @@ RFC2231ParmFolding(const char *parmName, const nsCString& charset, bool needEscape; nsCString dupParm; - if (!NS_IsAscii(parmValue.get()) || is7bitCharset(charset)) { + if (!NS_IsAscii(static_cast(parmValue.get())) || is7bitCharset(charset)) { needEscape = true; nsAutoCString nativeParmValue; ConvertFromUnicode(charset.get(), parmValue, nativeParmValue); -- cgit v1.2.3