OSStatus err = ::ConvertFromUnicodeToText(converter, 2 * aStringLength, aString,
OSStatus err = ::ConvertFromUnicodeToText(converter, 2 * aStringLength, (ConstUniCharArrayPtr) aString,
    PRBool Convert(        const PRUnichar *aString,         ByteCount aStringLength,         char *aBuffer,         ByteCount aBufferLength,        ByteCount& oActualLength,        ByteCount& oBytesRead,        OptionBits opts)    {        if(mConverter)        {            oActualLength = aBufferLength;            if(NS_SUCCEEDED(mConverter->Convert(aString, (PRInt32*) &aStringLength, aBuffer,                 (PRInt32*) &oActualLength)) && oActualLength)            {                oBytesRead = 2 * aStringLength;                return PR_TRUE;            }            return PR_FALSE;        }        UnicodeToTextInfo converter = GetConverterByScript(mScript);        if(converter)        {            OSStatus err = ::ConvertFromUnicodeToText(converter, 2 * aStringLength, aString,                opts, 0, NULL, 0, NULL,                aBufferLength, &oBytesRead, &oActualLength,                (LogicalAddress) aBuffer);                return (oActualLength > 0 ? PR_TRUE : PR_FALSE);        }        return PR_FALSE;    }