printf("CONTEXT %x: Received %u bytes and the following data: \n %s\n\n", ctxt, read, buffer);
printf("CONTEXT %x: Received %d bytes and the following data: \n %s\n\n", ctxt, (PRInt32)read, buffer);
    NS_IMETHOD OnDataAvailable(nsIChannel *channel, nsISupports *ctxt, nsIInputStream *inStr,                                PRUint32 sourceOffset, PRUint32 count)    {        nsresult rv;        PRUint32 read, len;        rv = inStr->Available(&len);        if (NS_FAILED(rv)) return rv;        char *buffer = (char*)nsAllocator::Alloc(len + 1);        if (!buffer) return NS_ERROR_OUT_OF_MEMORY;        rv = inStr->Read(buffer, len, &read);        buffer[len] = '\0';        if (NS_SUCCEEDED(rv)) {            printf("CONTEXT %x: Received %u bytes and the following data: \n %s\n\n", ctxt, read, buffer);        }        nsAllocator::Free(buffer);        return NS_OK;    }