From 3a19ed2019a33019b7eaed43879cbc121c155603 Mon Sep 17 00:00:00 2001 From: "darin%netscape.com" Date: Wed, 16 Jan 2002 03:23:23 +0000 Subject: [PATCH] fixes bug 42898 "iDNS support" r=nhotta, sr=brendan git-svn-id: svn://10.0.0.236/trunk@112284 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/docshell/base/nsWebShell.cpp | 4 ++-- .../netwerk/base/src/nsSocketTransport.cpp | 4 ++-- mozilla/netwerk/base/src/nsURLHelper.cpp | 22 +++++++++++++++---- mozilla/netwerk/base/src/nsURLHelper.h | 11 ++-------- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index 9235cc999bc..0bc87d7650b 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -732,8 +732,8 @@ nsresult nsWebShell::EndPageLoad(nsIWebProgress *aProgress, nsXPIDLCString oldSpec; url->GetSpec(getter_Copies(oldSpec)); - nsAutoString oldSpecW; oldSpecW.AssignWithConversion(oldSpec.get()); - + NS_ConvertUTF8toUCS2 oldSpecW(oldSpec); + // // First try keyword fixup // diff --git a/mozilla/netwerk/base/src/nsSocketTransport.cpp b/mozilla/netwerk/base/src/nsSocketTransport.cpp index fd0b6d84e3c..56ffe29bba6 100644 --- a/mozilla/netwerk/base/src/nsSocketTransport.cpp +++ b/mozilla/netwerk/base/src/nsSocketTransport.cpp @@ -1407,7 +1407,7 @@ nsSocketTransport::OnStatusWithProgress(nsSocketRequest *req, if (!progressSink) return; - progressSink->OnStatus(req, ctxt, message, NS_ConvertASCIItoUCS2(mHostName).get()); + progressSink->OnStatus(req, ctxt, message, NS_ConvertUTF8toUCS2(mHostName).get()); progressSink->OnProgress(req, ctxt, offset, 0); } @@ -1429,7 +1429,7 @@ nsSocketTransport::OnStatus_Locked(nsSocketRequest *req, // and we must not hold the monitor while calling out to our listener or // else we risk dead-locking. PR_ExitMonitor(mMonitor); - progressSink->OnStatus(req, ctxt, message, NS_ConvertASCIItoUCS2(mHostName).get()); + progressSink->OnStatus(req, ctxt, message, NS_ConvertUTF8toUCS2(mHostName).get()); PR_EnterMonitor(mMonitor); } diff --git a/mozilla/netwerk/base/src/nsURLHelper.cpp b/mozilla/netwerk/base/src/nsURLHelper.cpp index 272682e8bdc..2a5ac89d8d2 100644 --- a/mozilla/netwerk/base/src/nsURLHelper.cpp +++ b/mozilla/netwerk/base/src/nsURLHelper.cpp @@ -172,11 +172,25 @@ CoalesceDirs(char* io_Path) *(urlPtr-1) = '\0'; } -void -ToLowerCase(char *str, PRInt32 length) +static inline +void ToLower(char &c) { - for (; length && *str; --length, ++str) - *str = nsCRT::ToLower(*str); + if ((unsigned)(c - 'A') <= (unsigned)('Z' - 'A')) + c += 'a' - 'A'; +} + +void +ToLowerCase(char *str, PRUint32 length) +{ + for (char *end = str + length; str < end; ++str) + ToLower(*str); +} + +void +ToLowerCase(char *str) +{ + for (; *str; ++str) + ToLower(*str); } /* Extract URI-Scheme if possible */ diff --git a/mozilla/netwerk/base/src/nsURLHelper.h b/mozilla/netwerk/base/src/nsURLHelper.h index 9469811c596..b1c8814df6c 100644 --- a/mozilla/netwerk/base/src/nsURLHelper.h +++ b/mozilla/netwerk/base/src/nsURLHelper.h @@ -43,10 +43,6 @@ #include "nsCRT.h" #include "nsString.h" -#ifdef __cplusplus -extern "C" { -#endif - /* Get port from string */ PRInt32 ExtractPortFrom(const char* src); @@ -60,7 +56,8 @@ nsresult DupString(char* *o_Dest, const char* i_Src); void CoalesceDirs(char* io_Path); /* convert to lower case */ -void ToLowerCase(char* str, PRInt32 length=-1); +void ToLowerCase(char* str, PRUint32 length); +void ToLowerCase(char* str); /* Extract URI-Scheme if possible */ nsresult ExtractURLScheme(const char* inURI, PRUint32 *startPos, @@ -69,8 +66,4 @@ nsresult ExtractURLScheme(const char* inURI, PRUint32 *startPos, /* check that the given scheme conforms to RFC 2396 */ PRBool IsValidScheme(const char *scheme, PRUint32 schemeLen); -#ifdef __cplusplus -} -#endif - #endif