whitespace code cleanup no bug, r/sr=me

This commit is contained in:
bienvenu%nventure.com 2003-09-11 14:44:01 +00:00
Родитель ed362771c0
Коммит fdf11ae696
5 изменённых файлов: 299 добавлений и 310 удалений

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

@ -47,53 +47,48 @@ nsImapSearchResultSequence::nsImapSearchResultSequence()
nsImapSearchResultSequence *nsImapSearchResultSequence::CreateSearchResultSequence()
{
nsImapSearchResultSequence *returnObject = new nsImapSearchResultSequence;
if (!returnObject)
{
delete returnObject;
returnObject = nsnull;
}
return returnObject;
return new nsImapSearchResultSequence;
}
void nsImapSearchResultSequence::Clear(void)
{
if (mImpl) {
PRInt32 i = mImpl->mCount;
while (0 <= --i) {
char* string = (char*)mImpl->mArray[i];
delete string;
}
nsVoidArray::Clear();
if (mImpl)
{
PRInt32 i = mImpl->mCount;
while (0 <= --i)
{
char* string = (char*)mImpl->mArray[i];
delete string;
}
nsVoidArray::Clear();
}
}
nsImapSearchResultSequence::~nsImapSearchResultSequence()
{
Clear();
Clear();
}
void nsImapSearchResultSequence::ResetSequence()
{
Clear();
Clear();
}
void nsImapSearchResultSequence::AddSearchResultLine(const char *searchLine)
{
// The first add becomes node 2. Fix this.
char *copiedSequence = PL_strdup(searchLine + 9); // 9 == "* SEARCH "
if (copiedSequence) // if we can't allocate this then the search won't hit
AppendElement(copiedSequence);
// The first add becomes node 2. Fix this.
char *copiedSequence = PL_strdup(searchLine + 9); // 9 == "* SEARCH "
if (copiedSequence) // if we can't allocate this then the search won't hit
AppendElement(copiedSequence);
}
nsImapSearchResultIterator::nsImapSearchResultIterator(nsImapSearchResultSequence &sequence) :
fSequence(sequence)
fSequence(sequence)
{
ResetIterator();
ResetIterator();
}
nsImapSearchResultIterator::~nsImapSearchResultIterator()
@ -102,32 +97,32 @@ nsImapSearchResultIterator::~nsImapSearchResultIterator()
void nsImapSearchResultIterator::ResetIterator()
{
fSequenceIndex = 0;
fCurrentLine = (char *) fSequence.SafeElementAt(fSequenceIndex);
fPositionInCurrentLine = fCurrentLine;
fSequenceIndex = 0;
fCurrentLine = (char *) fSequence.SafeElementAt(fSequenceIndex);
fPositionInCurrentLine = fCurrentLine;
}
PRInt32 nsImapSearchResultIterator::GetNextMessageNumber()
{
int32 returnValue = 0;
if (fPositionInCurrentLine)
{
returnValue = atoi(fPositionInCurrentLine);
// eat the current number
while (isdigit(*++fPositionInCurrentLine))
;
if (*fPositionInCurrentLine == 0xD) // found CR, no more digits on line
{
fCurrentLine = (char *) fSequence.SafeElementAt(++fSequenceIndex);
fPositionInCurrentLine = fCurrentLine;
}
else // eat the space
fPositionInCurrentLine++;
}
return returnValue;
int32 returnValue = 0;
if (fPositionInCurrentLine)
{
returnValue = atoi(fPositionInCurrentLine);
// eat the current number
while (isdigit(*++fPositionInCurrentLine))
;
if (*fPositionInCurrentLine == 0xD) // found CR, no more digits on line
{
fCurrentLine = (char *) fSequence.SafeElementAt(++fSequenceIndex);
fPositionInCurrentLine = fCurrentLine;
}
else // eat the space
fPositionInCurrentLine++;
}
return returnValue;
}

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

@ -47,7 +47,7 @@ public:
virtual void AddSearchResultLine(const char *searchLine);
virtual void ResetSequence();
void Clear();
void Clear();
friend class nsImapSearchResultIterator;
private:
@ -63,9 +63,9 @@ public:
PRInt32 GetNextMessageNumber(); // returns 0 at end of list
private:
nsImapSearchResultSequence &fSequence;
PRInt32 fSequenceIndex;
char *fCurrentLine;
char *fPositionInCurrentLine;
PRInt32 fSequenceIndex;
char *fCurrentLine;
char *fPositionInCurrentLine;
};

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

@ -2333,42 +2333,42 @@ void nsImapServerResponseParser::namespace_data()
void nsImapServerResponseParser::myrights_data()
{
fNextToken = GetNextToken();
if (ContinueParse() && !at_end_of_line())
{
char *mailboxName = CreateAstring(); // PL_strdup(fNextToken);
if (mailboxName)
{
fNextToken = GetNextToken();
if (ContinueParse())
{
char *myrights = CreateAstring(); // PL_strdup(fNextToken);
if (myrights)
{
nsImapProtocol *navCon = &fServerConnection;
NS_ASSERTION(navCon, "null connection parsing my rights"); // we should always have this
if (navCon)
navCon->AddFolderRightsForUser(mailboxName, nsnull /* means "me" */, myrights);
PR_Free(myrights);
}
else
{
HandleMemoryFailure();
}
if (ContinueParse())
fNextToken = GetNextToken();
}
PR_Free(mailboxName);
}
else
{
HandleMemoryFailure();
}
}
else
{
SetSyntaxError(PR_TRUE);
}
fNextToken = GetNextToken();
if (ContinueParse() && !at_end_of_line())
{
char *mailboxName = CreateAstring(); // PL_strdup(fNextToken);
if (mailboxName)
{
fNextToken = GetNextToken();
if (ContinueParse())
{
char *myrights = CreateAstring(); // PL_strdup(fNextToken);
if (myrights)
{
nsImapProtocol *navCon = &fServerConnection;
NS_ASSERTION(navCon, "null connection parsing my rights"); // we should always have this
if (navCon)
navCon->AddFolderRightsForUser(mailboxName, nsnull /* means "me" */, myrights);
PR_Free(myrights);
}
else
{
HandleMemoryFailure();
}
if (ContinueParse())
fNextToken = GetNextToken();
}
PR_Free(mailboxName);
}
else
{
HandleMemoryFailure();
}
}
else
{
SetSyntaxError(PR_TRUE);
}
}
void nsImapServerResponseParser::acl_data()
@ -2744,102 +2744,102 @@ PRUint32 nsImapServerResponseParser::CurrentResponseUID()
PRUint32 nsImapServerResponseParser::HighestRecordedUID()
{
return fHighestRecordedUID;
return fHighestRecordedUID;
}
PRBool nsImapServerResponseParser::IsNumericString(const char *string)
{
int i;
for(i = 0; i < (int) PL_strlen(string); i++)
{
if (! isdigit(string[i]))
{
return PR_FALSE;
}
}
return PR_TRUE;
int i;
for(i = 0; i < (int) PL_strlen(string); i++)
{
if (! isdigit(string[i]))
{
return PR_FALSE;
}
}
return PR_TRUE;
}
nsImapMailboxSpec *nsImapServerResponseParser::CreateCurrentMailboxSpec(const char *mailboxName /* = nsnull */)
{
nsImapMailboxSpec *returnSpec = new nsImapMailboxSpec;
NS_ADDREF(returnSpec);
if (returnSpec)
{
const char *mailboxNameToConvert = (mailboxName) ? mailboxName : fSelectedMailboxName;
if (mailboxNameToConvert)
{
const char *serverKey =
fServerConnection.GetImapServerKey();
nsIMAPNamespace *ns = nsnull;
if (serverKey && fHostSessionList)
{
fHostSessionList->GetNamespaceForMailboxForHost(serverKey, mailboxNameToConvert, ns); // for
// delimiter
}
if (ns)
returnSpec->hierarchySeparator = ns->GetDelimiter();
else
returnSpec->hierarchySeparator = '/'; // a guess?
}
returnSpec->folderSelected = PR_TRUE;
returnSpec->folder_UIDVALIDITY = fFolderUIDValidity;
returnSpec->number_of_messages = fNumberOfExistingMessages;
returnSpec->number_of_unseen_messages = fNumberOfUnseenMessages;
returnSpec->number_of_recent_messages = fNumberOfRecentMessages;
returnSpec->box_flags = kNoFlags; // stub
returnSpec->onlineVerified = PR_FALSE; // we're fabricating this. The flags aren't verified.
returnSpec->allocatedPathName = nsCRT::strdup(mailboxNameToConvert);
returnSpec->connection = &fServerConnection;
if (returnSpec->connection)
{
nsIURI * aUrl = nsnull;
nsresult rv = NS_OK;
returnSpec->connection->GetCurrentUrl()->QueryInterface(NS_GET_IID(nsIURI), (void **) &aUrl);
if (NS_SUCCEEDED(rv) && aUrl) {
nsCAutoString host;
aUrl->GetHost(host);
returnSpec->hostName = ToNewCString(host);
}
NS_IF_RELEASE(aUrl);
}
else
returnSpec->hostName = nsnull;
if (fFlagState)
returnSpec->flagState = fFlagState; //copies flag state
else
returnSpec->flagState = nsnull;
}
else
HandleMemoryFailure();
return returnSpec;
nsImapMailboxSpec *returnSpec = new nsImapMailboxSpec;
NS_ADDREF(returnSpec);
if (returnSpec)
{
const char *mailboxNameToConvert = (mailboxName) ? mailboxName : fSelectedMailboxName;
if (mailboxNameToConvert)
{
const char *serverKey =
fServerConnection.GetImapServerKey();
nsIMAPNamespace *ns = nsnull;
if (serverKey && fHostSessionList)
{
fHostSessionList->GetNamespaceForMailboxForHost(serverKey, mailboxNameToConvert, ns); // for
// delimiter
}
if (ns)
returnSpec->hierarchySeparator = ns->GetDelimiter();
else
returnSpec->hierarchySeparator = '/'; // a guess?
}
returnSpec->folderSelected = PR_TRUE;
returnSpec->folder_UIDVALIDITY = fFolderUIDValidity;
returnSpec->number_of_messages = fNumberOfExistingMessages;
returnSpec->number_of_unseen_messages = fNumberOfUnseenMessages;
returnSpec->number_of_recent_messages = fNumberOfRecentMessages;
returnSpec->box_flags = kNoFlags; // stub
returnSpec->onlineVerified = PR_FALSE; // we're fabricating this. The flags aren't verified.
returnSpec->allocatedPathName = nsCRT::strdup(mailboxNameToConvert);
returnSpec->connection = &fServerConnection;
if (returnSpec->connection)
{
nsIURI * aUrl = nsnull;
nsresult rv = NS_OK;
returnSpec->connection->GetCurrentUrl()->QueryInterface(NS_GET_IID(nsIURI), (void **) &aUrl);
if (NS_SUCCEEDED(rv) && aUrl) {
nsCAutoString host;
aUrl->GetHost(host);
returnSpec->hostName = ToNewCString(host);
}
NS_IF_RELEASE(aUrl);
}
else
returnSpec->hostName = nsnull;
if (fFlagState)
returnSpec->flagState = fFlagState; //copies flag state
else
returnSpec->flagState = nsnull;
}
else
HandleMemoryFailure();
return returnSpec;
}
// zero stops a list recording of flags and causes the flags for
// each individual message to be sent back to libmsg
void nsImapServerResponseParser::ResetFlagInfo(int numberOfInterestingMessages)
{
if (fFlagState)
fFlagState->Reset(numberOfInterestingMessages);
if (fFlagState)
fFlagState->Reset(numberOfInterestingMessages);
}
PRBool nsImapServerResponseParser::GetLastFetchChunkReceived()
{
return fLastChunk;
return fLastChunk;
}
void nsImapServerResponseParser::ClearLastFetchChunkReceived()
{
fLastChunk = PR_FALSE;
fLastChunk = PR_FALSE;
}
void nsImapServerResponseParser::SetHostSessionList(nsIImapHostSessionList*

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

@ -202,7 +202,7 @@ NS_IMETHODIMP
nsImapService::SelectFolder(nsIEventQueue * aClientEventQueue,
nsIMsgFolder * aImapMailFolder,
nsIUrlListener * aUrlListener,
nsIMsgWindow *aMsgWindow,
nsIMsgWindow *aMsgWindow,
nsIURI ** aURL)
{
NS_ASSERTION (aImapMailFolder && aClientEventQueue,
@ -1596,8 +1596,8 @@ nsImapService::AddMessageFlags(nsIEventQueue * aClientEventQueue,
imapMessageFlagsType flags,
PRBool messageIdsAreUID)
{
return DiddleFlags(aClientEventQueue, aImapMailFolder, aUrlListener, aURL, messageIdentifierList,
"addmsgflags", flags, messageIdsAreUID);
return DiddleFlags(aClientEventQueue, aImapMailFolder, aUrlListener, aURL, messageIdentifierList,
"addmsgflags", flags, messageIdsAreUID);
}
NS_IMETHODIMP
@ -1609,8 +1609,8 @@ nsImapService::SubtractMessageFlags(nsIEventQueue * aClientEventQueue,
imapMessageFlagsType flags,
PRBool messageIdsAreUID)
{
return DiddleFlags(aClientEventQueue, aImapMailFolder, aUrlListener, aURL, messageIdentifierList,
"subtractmsgflags", flags, messageIdsAreUID);
return DiddleFlags(aClientEventQueue, aImapMailFolder, aUrlListener, aURL, messageIdentifierList,
"subtractmsgflags", flags, messageIdsAreUID);
}
NS_IMETHODIMP
@ -1626,8 +1626,8 @@ nsImapService::SetMessageFlags(nsIEventQueue * aClientEventQueue,
// NOTE: once we start working with multiple connections, this step will be much more complicated...but for now
// just create a connection and process the request.
return DiddleFlags(aClientEventQueue, aImapMailFolder, aUrlListener, aURL, messageIdentifierList,
"setmsgflags", flags, messageIdsAreUID);
return DiddleFlags(aClientEventQueue, aImapMailFolder, aUrlListener, aURL, messageIdentifierList,
"setmsgflags", flags, messageIdsAreUID);
}
nsresult nsImapService::DiddleFlags(nsIEventQueue * aClientEventQueue,
@ -1639,51 +1639,51 @@ nsresult nsImapService::DiddleFlags(nsIEventQueue * aClientEventQueue,
imapMessageFlagsType flags,
PRBool messageIdsAreUID)
{
// create a protocol instance to handle the request.
// NOTE: once we start working with multiple connections, this step will be much more complicated...but for now
// just create a connection and process the request.
NS_ASSERTION (aImapMailFolder && aClientEventQueue,
"Oops ... null pointer");
if (!aImapMailFolder || !aClientEventQueue)
return NS_ERROR_NULL_POINTER;
nsCOMPtr<nsIImapUrl> imapUrl;
nsCAutoString urlSpec;
PRUnichar hierarchySeparator = GetHierarchyDelimiter(aImapMailFolder);
nsresult rv = CreateStartOfImapUrl(nsnull, getter_AddRefs(imapUrl),
aImapMailFolder,
aUrlListener, urlSpec, hierarchySeparator);
if (NS_SUCCEEDED(rv) && imapUrl)
{
rv = imapUrl->SetImapAction(nsIImapUrl::nsImapMsgFetch);
rv = SetImapUrlSink(aImapMailFolder, imapUrl);
if (NS_SUCCEEDED(rv))
{
nsCOMPtr<nsIURI> uri = do_QueryInterface(imapUrl);
urlSpec.Append('/');
urlSpec.Append(howToDiddle);
urlSpec.Append('>');
urlSpec.Append(messageIdsAreUID ? uidString : sequenceString);
urlSpec.Append(">");
urlSpec.Append(char(hierarchySeparator));
nsXPIDLCString folderName;
GetFolderName(aImapMailFolder, getter_Copies(folderName));
urlSpec.Append((const char *) folderName);
urlSpec.Append(">");
urlSpec.Append(messageIdentifierList);
urlSpec.Append('>');
urlSpec.AppendInt(flags);
rv = uri->SetSpec(urlSpec);
if (NS_SUCCEEDED(rv))
rv = GetImapConnectionAndLoadUrl(aClientEventQueue, imapUrl,
nsnull, aURL);
}
}
return rv;
// create a protocol instance to handle the request.
// NOTE: once we start working with multiple connections, this step will be much more complicated...but for now
// just create a connection and process the request.
NS_ASSERTION (aImapMailFolder && aClientEventQueue,
"Oops ... null pointer");
if (!aImapMailFolder || !aClientEventQueue)
return NS_ERROR_NULL_POINTER;
nsCOMPtr<nsIImapUrl> imapUrl;
nsCAutoString urlSpec;
PRUnichar hierarchySeparator = GetHierarchyDelimiter(aImapMailFolder);
nsresult rv = CreateStartOfImapUrl(nsnull, getter_AddRefs(imapUrl),
aImapMailFolder,
aUrlListener, urlSpec, hierarchySeparator);
if (NS_SUCCEEDED(rv) && imapUrl)
{
rv = imapUrl->SetImapAction(nsIImapUrl::nsImapMsgFetch);
rv = SetImapUrlSink(aImapMailFolder, imapUrl);
if (NS_SUCCEEDED(rv))
{
nsCOMPtr<nsIURI> uri = do_QueryInterface(imapUrl);
urlSpec.Append('/');
urlSpec.Append(howToDiddle);
urlSpec.Append('>');
urlSpec.Append(messageIdsAreUID ? uidString : sequenceString);
urlSpec.Append(">");
urlSpec.Append(char(hierarchySeparator));
nsXPIDLCString folderName;
GetFolderName(aImapMailFolder, getter_Copies(folderName));
urlSpec.Append((const char *) folderName);
urlSpec.Append(">");
urlSpec.Append(messageIdentifierList);
urlSpec.Append('>');
urlSpec.AppendInt(flags);
rv = uri->SetSpec(urlSpec);
if (NS_SUCCEEDED(rv))
rv = GetImapConnectionAndLoadUrl(aClientEventQueue, imapUrl,
nsnull, aURL);
}
}
return rv;
}
nsresult
@ -1695,9 +1695,9 @@ nsImapService::SetImapUrlSink(nsIMsgFolder* aMsgFolder,
nsCOMPtr <nsIMsgIncomingServer> incomingServer;
nsCOMPtr <nsIImapServerSink> imapServerSink;
NS_ASSERTION (aMsgFolder && aImapUrl, "Oops ... null pointers");
if (!aMsgFolder || !aImapUrl)
return rv;
NS_ASSERTION (aMsgFolder && aImapUrl, "Oops ... null pointers");
if (!aMsgFolder || !aImapUrl)
return rv;
rv = aMsgFolder->GetServer(getter_AddRefs(incomingServer));
if (NS_SUCCEEDED(rv) && incomingServer)
@ -2218,18 +2218,14 @@ nsImapService::GetImapConnectionAndLoadUrl(nsIEventQueue* aClientEventQueue,
rv = msgUrl->GetServer(getter_AddRefs(aMsgIncomingServer));
if (aURL)
{
*aURL = msgUrl;
NS_IF_ADDREF(*aURL);
}
NS_IF_ADDREF(*aURL = msgUrl);
if (NS_SUCCEEDED(rv) && aMsgIncomingServer)
{
nsCOMPtr<nsIImapIncomingServer> aImapServer(do_QueryInterface(aMsgIncomingServer, &rv));
if (NS_SUCCEEDED(rv) && aImapServer)
rv = aImapServer->GetImapConnectionAndLoadUrl(aClientEventQueue,
aImapUrl,
aConsumer);
aImapUrl, aConsumer);
}
return rv;
}
@ -2417,7 +2413,7 @@ nsImapService::EnsureFolderExists(nsIEventQueue* eventQueue, nsIMsgFolder* paren
nsCAutoString urlSpec;
nsresult rv;
PRUnichar hierarchySeparator = GetHierarchyDelimiter(parent);
PRUnichar hierarchySeparator = GetHierarchyDelimiter(parent);
rv = CreateStartOfImapUrl(nsnull, getter_AddRefs(imapUrl), parent, urlListener, urlSpec, hierarchySeparator);
if (NS_SUCCEEDED(rv) && imapUrl)
{

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

@ -243,106 +243,104 @@ nsImapMoveCopyMsgTxn::UndoTransaction(void)
NS_IMETHODIMP
nsImapMoveCopyMsgTxn::RedoTransaction(void)
{
nsresult rv;
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
nsresult rv;
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv,rv);
if (m_isMove || !m_dstFolder)
{
if (m_srcIsPop3)
{
if (m_srcIsPop3)
{
rv = RedoMailboxDelete();
if (NS_FAILED(rv)) return rv;
}
else
{
nsCOMPtr<nsIMsgFolder> srcFolder = do_QueryReferent(m_srcFolder, &rv);
if (NS_FAILED(rv) || !srcFolder)
return rv;
nsCOMPtr<nsIUrlListener> srcListener =
do_QueryInterface(srcFolder, &rv);
if (NS_FAILED(rv))
return rv;
PRBool deletedMsgs = PR_FALSE; //default will be false unless imapDeleteModel;
nsMsgImapDeleteModel deleteModel;
rv = GetImapDeleteModel(srcFolder, &deleteModel);
// protect against a bogus undo txn without any source keys
// see bug #179856 for details
NS_ASSERTION(m_srcKeyArray.GetSize(), "no source keys");
if (!m_srcKeyArray.GetSize())
return NS_ERROR_UNEXPECTED;
if (NS_SUCCEEDED(rv) && deleteModel == nsMsgImapDeleteModels::IMAPDelete)
rv = CheckForToggleDelete(srcFolder, m_srcKeyArray.GetAt(0), &deletedMsgs);
// ** make sire we are in the selected state; use lite select
// folder so we won't hit preformace hard
rv = imapService->LiteSelectFolder(m_eventQueue, srcFolder,
srcListener, nsnull);
if (NS_FAILED(rv))
return rv;
if (deletedMsgs)
rv = imapService->SubtractMessageFlags(
m_eventQueue, srcFolder, srcListener, nsnull,
m_srcMsgIdString.get(), kImapMsgDeletedFlag,
m_idsAreUids);
else
rv = imapService->AddMessageFlags(m_eventQueue, srcFolder,
rv = RedoMailboxDelete();
if (NS_FAILED(rv)) return rv;
}
else
{
nsCOMPtr<nsIMsgFolder> srcFolder = do_QueryReferent(m_srcFolder, &rv);
if (NS_FAILED(rv) || !srcFolder)
return rv;
nsCOMPtr<nsIUrlListener> srcListener =
do_QueryInterface(srcFolder, &rv);
if (NS_FAILED(rv))
return rv;
PRBool deletedMsgs = PR_FALSE; //default will be false unless imapDeleteModel;
nsMsgImapDeleteModel deleteModel;
rv = GetImapDeleteModel(srcFolder, &deleteModel);
// protect against a bogus undo txn without any source keys
// see bug #179856 for details
NS_ASSERTION(m_srcKeyArray.GetSize(), "no source keys");
if (!m_srcKeyArray.GetSize())
return NS_ERROR_UNEXPECTED;
if (NS_SUCCEEDED(rv) && deleteModel == nsMsgImapDeleteModels::IMAPDelete)
rv = CheckForToggleDelete(srcFolder, m_srcKeyArray.GetAt(0), &deletedMsgs);
// ** make sire we are in the selected state; use lite select
// folder so we won't hit preformace hard
rv = imapService->LiteSelectFolder(m_eventQueue, srcFolder,
srcListener, nsnull);
if (NS_FAILED(rv))
return rv;
if (deletedMsgs)
rv = imapService->SubtractMessageFlags(m_eventQueue, srcFolder,
srcListener, nsnull,
m_srcMsgIdString.get(),
kImapMsgDeletedFlag,
m_srcMsgIdString.get(), kImapMsgDeletedFlag,
m_idsAreUids);
}
else
rv = imapService->AddMessageFlags(m_eventQueue, srcFolder,
srcListener, nsnull, m_srcMsgIdString.get(),
kImapMsgDeletedFlag, m_idsAreUids);
}
if (m_dstKeyArray.GetSize() > 0)
{
nsCOMPtr<nsIMsgFolder> dstFolder = do_QueryReferent(m_dstFolder, &rv);
if (NS_FAILED(rv) || !dstFolder) return rv;
nsCOMPtr<nsIUrlListener> dstListener;
dstListener = do_QueryInterface(dstFolder, &rv);
if (NS_FAILED(rv))
return rv;
// ** make sure we are in the selected state; use lite select
// folder so we won't hit preformace hard
rv = imapService->LiteSelectFolder(m_eventQueue, dstFolder,
dstListener, nsnull);
if (NS_FAILED(rv))
return rv;
rv = imapService->SubtractMessageFlags(m_eventQueue, dstFolder,
dstListener, nsnull,
m_dstMsgIdString.get(),
kImapMsgDeletedFlag,
m_idsAreUids);
if (NS_FAILED(rv))
return rv;
nsMsgImapDeleteModel deleteModel;
rv = GetImapDeleteModel(dstFolder, &deleteModel);
if (NS_FAILED(rv) || deleteModel == nsMsgImapDeleteModels::MoveToTrash)
rv = imapService->GetHeaders(m_eventQueue, dstFolder,
dstListener, nsnull,
m_dstMsgIdString.get(),
PR_TRUE);
}
return rv;
}
if (m_dstKeyArray.GetSize() > 0)
{
nsCOMPtr<nsIMsgFolder> dstFolder = do_QueryReferent(m_dstFolder, &rv);
if (NS_FAILED(rv) || !dstFolder) return rv;
nsCOMPtr<nsIUrlListener> dstListener;
dstListener = do_QueryInterface(dstFolder, &rv);
if (NS_FAILED(rv))
return rv;
// ** make sure we are in the selected state; use lite select
// folder so we won't hit preformace hard
rv = imapService->LiteSelectFolder(m_eventQueue, dstFolder,
dstListener, nsnull);
if (NS_FAILED(rv))
return rv;
rv = imapService->SubtractMessageFlags(m_eventQueue, dstFolder,
dstListener, nsnull,
m_dstMsgIdString.get(),
kImapMsgDeletedFlag,
m_idsAreUids);
if (NS_FAILED(rv))
return rv;
nsMsgImapDeleteModel deleteModel;
rv = GetImapDeleteModel(dstFolder, &deleteModel);
if (NS_FAILED(rv) || deleteModel == nsMsgImapDeleteModels::MoveToTrash)
rv = imapService->GetHeaders(m_eventQueue, dstFolder,
dstListener, nsnull,
m_dstMsgIdString.get(),
PR_TRUE);
}
return rv;
}
nsresult
nsImapMoveCopyMsgTxn::SetCopyResponseUid(nsMsgKeyArray* aKeyArray,
const char* aMsgIdString)
const char* aMsgIdString)
{
if (!aKeyArray || !aMsgIdString) return NS_ERROR_NULL_POINTER;
m_dstKeyArray.CopyArray(aKeyArray);
m_dstMsgIdString = aMsgIdString;
if (m_dstMsgIdString.Last() == ']')
{
PRInt32 len = m_dstMsgIdString.Length();
m_dstMsgIdString.SetLength(len - 1);
}
return NS_OK;
if (!aKeyArray || !aMsgIdString) return NS_ERROR_NULL_POINTER;
m_dstKeyArray.CopyArray(aKeyArray);
m_dstMsgIdString = aMsgIdString;
if (m_dstMsgIdString.Last() == ']')
{
PRInt32 len = m_dstMsgIdString.Length();
m_dstMsgIdString.SetLength(len - 1);
}
return NS_OK;
}
nsresult