nsHttpConnectionInfo::SetOriginServer(const nsACString &host, PRInt32 port) { mHost = host; mPort = port == -1 ? DefaultPort() : port;         const char *keyHost; PRInt32 keyPort;  if (mUsingHttpProxy && !mUsingSSL) { keyHost = ProxyHost(); keyPort = ProxyPort();
nsresult SetOriginServer(const char* host, PRInt32 port) { if (host) mHost.Adopt(nsCRT::strdup(host)); mPort = port == -1 ? DefaultPort() : port;  return NS_OK;
nsHttpConnectionInfo::SetOriginServer(const nsACString &host, PRInt32 port){    mHost = host;    mPort = port == -1 ? DefaultPort() : port;    //    // build hash key:    //    // the hash key uniquely identifies the connection type.  two connections    // are "equal" if they end up talking the same protocol to the same server.    //    const char *keyHost;    PRInt32 keyPort;    if (mUsingHttpProxy && !mUsingSSL) {        keyHost = ProxyHost();        keyPort = ProxyPort();    }    else {        keyHost = Host();        keyPort = Port();    }    mHashKey.Assign(NS_LITERAL_CSTRING("..") +                    nsDependentCString(keyHost) +                    nsPrintfCString(":%d", keyPort));    if (mUsingHttpProxy)        mHashKey.SetCharAt('P', 0);    if (mUsingSSL)        mHashKey.SetCharAt('S', 1);    // NOTE: for transparent proxies (e.g., SOCKS) we need to encode the proxy    // type in the hash key (this ensures that we will continue to speak the    // right protocol even if our proxy preferences change).    if (!mUsingHttpProxy && ProxyHost())        mHashKey.Append(NS_LITERAL_CSTRING(" (") +                        nsDependentCString(ProxyType()) +                        NS_LITERAL_CSTRING(")"));}