fixes bug 142870 "nsIFile should use UCS-2 instead of UTF-8"

r=dougt sr=alecf


git-svn-id: svn://10.0.0.236/trunk@121010 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
darin%netscape.com
2002-05-07 23:07:19 +00:00
parent 9b650339a0
commit 24feadaaed
95 changed files with 627 additions and 864 deletions

View File

@@ -357,7 +357,7 @@ NS_IMETHODIMP nsPrefBranch::GetComplexValue(const char *aPrefName, const nsIID &
return rv;
nsCOMPtr<nsILocalFile> theFile;
rv = NS_NewLocalFile(nsCString(), PR_TRUE, getter_AddRefs(theFile));
rv = NS_NewNativeLocalFile(nsCString(), PR_TRUE, getter_AddRefs(theFile));
if (NS_FAILED(rv))
return rv;
rv = theFile->SetRelativeDescriptor(fromFile, Substring(++keyEnd, strEnd));

View File

@@ -314,7 +314,7 @@ nsresult nsPrefService::UseDefaultPrefFile()
// knows about NS_APP_PREFS_50_FILE. Put the file in NS_XPCOM_CURRENT_PROCESS_DIR.
rv = NS_GetSpecialDirectory(NS_XPCOM_CURRENT_PROCESS_DIR, getter_AddRefs(aFile));
if (NS_FAILED(rv)) return rv;
rv = aFile->Append(NS_LITERAL_CSTRING("default_prefs.js"));
rv = aFile->AppendNative(NS_LITERAL_CSTRING("default_prefs.js"));
if (NS_FAILED(rv)) return rv;
}
@@ -336,7 +336,7 @@ nsresult nsPrefService::UseUserPrefFile()
rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR, getter_AddRefs(aFile));
if (NS_SUCCEEDED(rv) && aFile) {
rv = aFile->Append(NS_LITERAL_CSTRING("user.js"));
rv = aFile->AppendNative(NS_LITERAL_CSTRING("user.js"));
if (NS_SUCCEEDED(rv)) {
rv = openPrefFile(aFile, PR_FALSE, PR_FALSE, PR_FALSE);
}
@@ -585,7 +585,7 @@ JSBool pref_InitInitialObjects()
// because SetLeafName will not work here.
rv = defaultPrefDir->Clone(getter_AddRefs(aFile));
if (NS_SUCCEEDED(rv)) {
rv = aFile->Append(nsDependentCString(specialFiles[k]));
rv = aFile->AppendNative(nsDependentCString(specialFiles[k]));
if (NS_SUCCEEDED(rv)) {
rv = openPrefFile(aFile, PR_FALSE, PR_FALSE, PR_FALSE);
NS_ASSERTION(NS_SUCCEEDED(rv), "<platform>.js was not parsed successfully");

View File

@@ -52,7 +52,7 @@ nsSafeSaveFile::nsSafeSaveFile(nsIFile *aTargetFile, PRInt32 aNumBackupCopies)
nsresult rv;
// determine the actual filename (less the extension)
rv = aTargetFile->GetLeafName(mTargetFileName);
rv = aTargetFile->GetNativeLeafName(mTargetFileName);
if (NS_FAILED(rv)) // yikes! out of memory
return;
@@ -66,7 +66,7 @@ nsSafeSaveFile::nsSafeSaveFile(nsIFile *aTargetFile, PRInt32 aNumBackupCopies)
tempFileName = Substring(mTargetFileName, 0, mTargetNameLen) + NS_LITERAL_CSTRING(".tmp");
rv = aTargetFile->Clone(getter_AddRefs(mTempFile));
if (NS_SUCCEEDED(rv))
mTempFile->SetLeafName(tempFileName);
mTempFile->SetNativeLeafName(tempFileName);
}
void nsSafeSaveFile::CleanupFailedSave(void)
@@ -106,10 +106,10 @@ nsresult nsSafeSaveFile::PostProcessSave(void)
fileName = Substring(mTargetFileName, 0, mTargetNameLen) + BACKUP_FILE_EXTENSION;
if (mBackupCount > 1)
fileName.AppendInt(mBackupCount - 1);
backupFile->SetLeafName(fileName);
backupFile->SetNativeLeafName(fileName);
} else {
// no backups desired, delete the previous save
backupFile->SetLeafName(mTargetFileName);
backupFile->SetNativeLeafName(mTargetFileName);
}
// remove the file as determined by the logic above
@@ -123,27 +123,27 @@ nsresult nsSafeSaveFile::PostProcessSave(void)
// bump all of the redundant backups up one (i.e. bak -> bak1, bak1 -> bak2, etc.)
if (backupCount > 1)
fileName.AppendInt(backupCount - 1);
backupFile->SetLeafName(fileName);
backupFile->SetNativeLeafName(fileName);
backupFile->Exists(&bExists);
if (bExists) {
fileName.Truncate(mTargetNameLen + (sizeof(BACKUP_FILE_EXTENSION) - 1));
fileName.AppendInt(backupCount);
// fail silently because it's not important enough to bail on the save for
backupFile->MoveTo(0, fileName);
backupFile->MoveToNative(0, fileName);
}
fileName.Truncate(mTargetNameLen + (sizeof(BACKUP_FILE_EXTENSION) - 1));
};
// rename the previous save to .bak (i.e. <filename.js> to <filename.bak>)
backupFile->SetLeafName(mTargetFileName);
rv = backupFile->MoveTo(0, fileName);
backupFile->SetNativeLeafName(mTargetFileName);
rv = backupFile->MoveToNative(0, fileName);
// it's only an error if the file exists
if ((NS_FAILED(rv)) && (rv != NS_ERROR_FILE_NOT_FOUND))
return rv;
}
// finally rename the temp file to the original name (i.e. <filename.tmp> to <filename.js>)
rv = mTempFile->MoveTo(0, mTargetFileName);
rv = mTempFile->MoveToNative(0, mTargetFileName);
return rv;
}
@@ -168,7 +168,7 @@ nsresult nsSafeSaveFile::PurgeOldestBackup(void)
while (--backupCount >= 0) {
if (backupCount)
fileName.AppendInt(backupCount);
backupFile->SetLeafName(fileName);
backupFile->SetNativeLeafName(fileName);
rv = backupFile->Remove(PR_FALSE);
if (NS_SUCCEEDED(rv)) {
return NS_OK;

View File

@@ -54,7 +54,7 @@ class nsSafeSaveFile {
private:
nsCOMPtr<nsIFile> mTempFile;
nsCString mTargetFileName; // UTF-8
nsCString mTargetFileName; // native charset
PRInt32 mTargetNameLen;
PRInt32 mBackupCount;
};