Changed to only do the charset conversion when the data is non ASCII, bug 116101, r=naving, sr=sspitzer.

This commit is contained in:
nhotta%netscape.com 2002-01-09 22:37:28 +00:00
Родитель 3a1721ec4d
Коммит 114cd099c6
2 изменённых файлов: 17 добавлений и 10 удалений

Просмотреть файл

@ -746,7 +746,9 @@ nsMsgGetNativePathString(const char *aPath, nsString& aResult)
aResult.Truncate();
return;
}
ConvertToUnicode(nsMsgI18NFileSystemCharset(), aPath, aResult);
if (nsCRT::IsAscii(aPath))
aResult.AssignWithConversion(aPath);
else
ConvertToUnicode(nsMsgI18NFileSystemCharset(), aPath, aResult);
}

Просмотреть файл

@ -283,14 +283,19 @@ nsresult NS_MsgCreatePathStringFromFolderURI(const char *folderURI, nsCString& p
{
// A file name has to be in native charset, convert from UTF-8.
nsCAutoString oldPath;
const char *fileCharset = nsMsgI18NFileSystemCharset();
char *nativeString = nsnull;
nsresult rv = ConvertFromUnicode(fileCharset, nsAutoString(NS_ConvertUTF8toUCS2(folderURI)), &nativeString);
if (NS_SUCCEEDED(rv) && nativeString && nativeString[0])
oldPath.Assign(nativeString);
else
oldPath.Assign(folderURI);
PR_FREEIF(nativeString);
if (nsCRT::IsAscii(folderURI))
oldPath.Assign(folderURI);
else
{
char *nativeString = nsnull;
nsresult rv = ConvertFromUnicode(nsMsgI18NFileSystemCharset(),
nsAutoString(NS_ConvertUTF8toUCS2(folderURI)), &nativeString);
if (NS_SUCCEEDED(rv) && nativeString && nativeString[0])
oldPath.Assign(nativeString);
else
oldPath.Assign(folderURI);
PR_FREEIF(nativeString);
}
nsCAutoString pathPiece;