follow-up to bug 256409 : bookmark file path with non-ASCII characters doesn't work

This commit is contained in:
jshin%mailaps.org 2004-09-12 15:28:21 +00:00
Родитель 26dc4b6e0a
Коммит 51cb2a25b0
2 изменённых файлов: 8 добавлений и 9 удалений

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

@ -3117,17 +3117,16 @@ nsBookmarksService::UpdateBookmarkIcon(const char *aURL, const char *aMIMEType,
rv = gRDF->GetLiteral (NS_LITERAL_STRING("data:").get(), getter_AddRefs(iconDataLiteral));
if (NS_FAILED(rv)) return rv;
} else {
PRInt32 len = ((aIconDataLen + 2) / 3) * 4;
char *iconDataBase64 = PL_Base64Encode((const char *) aIconData, aIconDataLen, nsnull);
if (!iconDataBase64) {
return NS_ERROR_OUT_OF_MEMORY;
}
nsString dataUri;
dataUri += NS_LITERAL_STRING("data:");
dataUri += NS_ConvertASCIItoUTF16(aMIMEType);
dataUri += NS_LITERAL_STRING(";base64,");
dataUri += NS_ConvertASCIItoUTF16(iconDataBase64, len);
dataUri.AssignLiteral("data:");
dataUri.AppendASCII(aMIMEType);
dataUri.AppendLiteral(";base64,");
dataUri.AppendASCII(iconDataBase64);
nsMemory::Free(iconDataBase64);
rv = gRDF->GetLiteral (dataUri.get(), getter_AddRefs(iconDataLiteral));
@ -4387,8 +4386,8 @@ nsBookmarksService::GetBookmarksFile(nsIFile* *aResult)
getter_AddRefs(prefVal));
if (NS_SUCCEEDED(rv))
{
nsXPIDLString bookmarkPath;
prefVal->ToString(getter_Copies(bookmarkPath));
nsAutoString bookmarkPath;
prefVal->GetData(bookmarkPath);
rv = NS_NewLocalFile(bookmarkPath, PR_TRUE,
(nsILocalFile**)(nsIFile**) getter_AddRefs(bookmarksFile));

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

@ -4994,8 +4994,8 @@ nsBookmarksService::EnsureBookmarksFile()
getter_AddRefs(prefVal));
if (NS_SUCCEEDED(rv))
{
nsXPIDLString bookmarksFile;
prefVal->ToString(getter_Copies(bookmarksFile));
nsAutoString bookmarksFile;
prefVal->GetData(bookmarksFile); // more efficient than ToString
rv = NS_NewLocalFile(bookmarksFile, PR_TRUE,
getter_AddRefs(mBookmarksFile));