PRUnichar* cat = category.ToNewUnicode(); result = resultLocale->AddCategory(cat, aLocale); nsCRT::free(cat);
result = resultLocale->AddCategory(category.GetUnicode(),aLocale);
nsLocaleService::NewLocale(const PRUnichar *aLocale, nsILocale **_retval){	int		i;	nsresult result;	*_retval = (nsILocale*)nsnull;		nsLocale* resultLocale = new nsLocale();	if (!resultLocale) return NS_ERROR_OUT_OF_MEMORY;	for(i=0;i<LocaleListLength;i++) {		nsString category = LocaleList[i];        PRUnichar* cat = category.ToNewUnicode();		result = resultLocale->AddCategory(cat, aLocale);        nsCRT::free(cat);		if (NS_FAILED(result)) { delete resultLocale; return result;}	}	return resultLocale->QueryInterface(kILocaleIID,(void**)_retval);}