#70419. r=racham, sr=bienvenu. Don't initiate an inputFileStream on nsIFileSpec. Use

existing mInputSream.
This commit is contained in:
naving%netscape.com 2001-03-02 01:08:27 +00:00
parent 07ab27cc55
commit 4806bc1d9c
3 changed files with 33 additions and 36 deletions

View File

@ -1950,7 +1950,6 @@ nsMsgLocalMailFolder::CopyFileMessage(nsIFileSpec* fileSpec, nsIMessage*
nsresult rv = NS_ERROR_NULL_POINTER;
if (!fileSpec) return rv;
nsInputFileStream *inputFileStream = nsnull;
nsCOMPtr<nsIInputStream> inputStream;
nsParseMailMessageState* parseMsgState = nsnull;
PRUint32 fileSize = 0;
@ -1981,20 +1980,15 @@ nsMsgLocalMailFolder::CopyFileMessage(nsIFileSpec* fileSpec, nsIMessage*
parseMsgState->SetMailDB(msgDb);
}
inputFileStream = new nsInputFileStream(fileSpec);
if (!inputFileStream)
{
rv = NS_ERROR_OUT_OF_MEMORY;
goto done;
}
rv = fileSpec->OpenStreamForReading();
NS_ENSURE_SUCCESS(rv,rv);
inputStream = do_QueryInterface(inputFileStream->GetIStream());
if (!inputStream) {
rv = NS_ERROR_FAILURE;
goto done;
}
rv = inputStream->Available(&fileSize);
rv = fileSpec->GetInputStream(getter_AddRefs(inputStream));
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_ERROR_NULL_POINTER;
if (inputStream)
rv = inputStream->Available(&fileSize);
if (NS_FAILED(rv)) goto done;
rv = BeginCopy(nsnull);
if (NS_FAILED(rv)) goto done;
@ -2014,12 +2008,7 @@ done:
ClearCopyState();
}
if (inputFileStream)
{
inputFileStream->close();
inputStream = null_nsCOMPtr();
delete inputFileStream;
}
fileSpec->CloseStream();
return rv;
}
@ -2729,12 +2718,9 @@ nsresult nsMsgLocalMailFolder::DeleteMsgsOnPop3Server(nsISupportsArray *messages
if (NS_FAILED(rv))
return rv;
nsInputFileStream *inputFileStream = nsnull;
inputFileStream = new nsInputFileStream(mailboxSpec);
if (!inputFileStream)
return NS_ERROR_OUT_OF_MEMORY;
rv = mailboxSpec->OpenStreamForReading();
NS_ENSURE_SUCCESS(rv,rv);
PRUint32 srcCount;
messages->Count(&srcCount);
@ -2767,14 +2753,17 @@ nsresult nsMsgLocalMailFolder::DeleteMsgsOnPop3Server(nsISupportsArray *messages
PRUint32 messageOffset;
msgDBHdr->GetMessageOffset(&messageOffset);
/* no return value?!! */ inputFileStream->seek(messageOffset); /* GetMessageKey */
rv = mailboxSpec->Seek(messageOffset);
NS_ENSURE_SUCCESS(rv,rv);
msgDBHdr->GetMessageSize(&len);
PRBool wasTruncated = PR_FALSE;
while ((len > 0) && !uidl)
{
size = len;
if (size > 512)
size = 512;
if (inputFileStream->readline(header, size))
rv = mailboxSpec->ReadLine(&header, size, &wasTruncated);
if (NS_SUCCEEDED(rv) && !wasTruncated)
{
size = strlen(header);
if (!size)
@ -2813,7 +2802,7 @@ nsresult nsMsgLocalMailFolder::DeleteMsgsOnPop3Server(nsISupportsArray *messages
KillPopData(popData);
popData = nsnull;
}
delete inputFileStream;
mailboxSpec->CloseStream();
return rv;
}

View File

@ -1047,7 +1047,9 @@ nsMsgNewsFolder::LoadNewsrcFileAndCreateNewsgroups()
return NS_OK;
}
nsInputFileStream newsrcStream(mNewsrcFilePath);
char *buffer = nsnull;
rv = mNewsrcFilePath->OpenStreamForReading();
NS_ENSURE_SUCCESS(rv,rv);
PRInt32 numread = 0;
@ -1056,7 +1058,9 @@ nsMsgNewsFolder::LoadNewsrcFileAndCreateNewsgroups()
}
while (1) {
numread = newsrcStream.read(m_newsrcInputStream.GetBuffer(), NEWSRC_FILE_BUFFER_SIZE);
buffer = m_newsrcInputStream.GetBuffer();
rv = mNewsrcFilePath->Read(&buffer, NEWSRC_FILE_BUFFER_SIZE, &numread);
NS_ENSURE_SUCCESS(rv,rv);
if (numread == 0) {
break;
}
@ -1068,7 +1072,7 @@ nsMsgNewsFolder::LoadNewsrcFileAndCreateNewsgroups()
}
}
newsrcStream.close();
mNewsrcFilePath->CloseStream();
return rv;
}

View File

@ -887,7 +887,9 @@ nsNntpIncomingServer::LoadHostInfoFile()
// it is ok if the hostinfo.dat file does not exist.
if (!exists) return NS_OK;
nsInputFileStream hostinfoStream(mHostInfoFile);
char *buffer = nsnull;
rv = mHostInfoFile->OpenStreamForReading();
NS_ENSURE_SUCCESS(rv,rv);
PRInt32 numread = 0;
@ -898,7 +900,9 @@ nsNntpIncomingServer::LoadHostInfoFile()
mHasSeenBeginGroups = PR_FALSE;
while (1) {
numread = hostinfoStream.read(mHostInfoInputStream.GetBuffer(), HOSTINFO_FILE_BUFFER_SIZE);
buffer = mHostInfoInputStream.GetBuffer();
rv = mHostInfoFile->Read(&buffer, HOSTINFO_FILE_BUFFER_SIZE, &numread);
NS_ENSURE_SUCCESS(rv,rv);
if (numread == 0) {
break;
}
@ -910,8 +914,8 @@ nsNntpIncomingServer::LoadHostInfoFile()
}
}
hostinfoStream.close();
mHostInfoFile->CloseStream();
rv = UpdateSubscribed();
if (NS_FAILED(rv)) return rv;