nsAutoString name; name.AssignWithConversion(key); rv = bundle->FormatStringFromName(name.get(), (const PRUnichar**)argArray,
rv = bundle->FormatStringFromName(NS_ConvertASCIItoUCS2(key).get(), (const PRUnichar**)argArray,
nsStringBundleService::FormatWithBundle(nsIStringBundle* bundle, nsresult aStatus,                                        PRUint32 argCount, PRUnichar** argArray,                                        PRUnichar* *result){  nsresult rv;  nsXPIDLCString key;  // then find a key into the string bundle for that particular error:  rv = mErrorService->GetErrorStringBundleKey(aStatus, getter_Copies(key));  // first try looking up the error message with the string key:  if (NS_SUCCEEDED(rv)) {    nsAutoString name; name.AssignWithConversion(key);    rv = bundle->FormatStringFromName(name.get(), (const PRUnichar**)argArray,                                       argCount, result);  }  // if the string key fails, try looking up the error message with the int key:  if (NS_FAILED(rv)) {    PRUint16 code = NS_ERROR_GET_CODE(aStatus);    rv = bundle->FormatStringFromID(code, (const PRUnichar**)argArray, argCount, result);  }  // If the int key fails, try looking up the default error message. E.g. print:  //   An unknown error has occurred (0x804B0003).  if (NS_FAILED(rv)) {    nsAutoString statusStr; statusStr.AppendInt(aStatus, 16);    const PRUnichar* otherArgArray[1];    otherArgArray[0] = statusStr.get();    PRUint16 code = NS_ERROR_GET_CODE(NS_ERROR_FAILURE);    rv = bundle->FormatStringFromID(code, otherArgArray, 1, result);  }  return rv;}