char *absUrlStr = nsnull; rv = service->MakeAbsolute(nsCAutoString(aURI), baseUri, &absUrlStr); NS_RELEASE(baseUri); result = absUrlStr; nsCRT::free(absUrlStr);
nsXPIDLCString absUrlStr; char *urlSpec = aURI.ToNewCString(); if (! urlSpec) return NS_ERROR_OUT_OF_MEMORY;  rv = service->MakeAbsolute(urlSpec, baseUri, getter_Copies(absUrlStr)); delete[] urlSpec;  result = (const char*) absUrlStr;
rdf_MakeAbsoluteURI(nsIURI* aURL, nsString& aURI){    nsresult rv;    nsAutoString result;#ifndef NECKO    rv = NS_MakeAbsoluteURL(aURL, nsAutoString(""), aURI, result);#else    NS_WITH_SERVICE(nsIIOService, service, kIOServiceCID, &rv);    if (NS_FAILED(rv)) return rv;    nsIURI *baseUri = nsnull;    rv = aURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri);    if (NS_FAILED(rv)) return rv;    char *absUrlStr = nsnull;    rv = service->MakeAbsolute(nsCAutoString(aURI), baseUri, &absUrlStr);    NS_RELEASE(baseUri);    result = absUrlStr;    nsCRT::free(absUrlStr);#endif // NECKO    if (NS_SUCCEEDED(rv)) {        aURI = result;    }    else {        // There are some ugly URIs (e.g., "NC:Foo") that netlib can't        // parse. If NS_MakeAbsoluteURL fails, then just punt and        // assume that aURI was already absolute.    }    return NS_OK;}