This commit is contained in:
jefft%netscape.com 1999-08-11 04:54:48 +00:00
Родитель 97be48c3f5
Коммит 2d6f1870c9
2 изменённых файлов: 8 добавлений и 2 удалений

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

@ -617,6 +617,9 @@ NS_IMETHODIMP nsImapMailFolder::Delete ()
NS_IMETHODIMP nsImapMailFolder::Rename (const char *newName)
{
nsresult rv = NS_ERROR_FAILURE;
NS_WITH_SERVICE (nsIImapService, imapService, kCImapService, &rv);
if (NS_SUCCEEDED(rv))
rv = imapService->RenameLeaf(m_eventQueue, this, newName, this, nsnull);
return rv;
}
@ -1416,6 +1419,7 @@ NS_IMETHODIMP nsImapMailFolder::OnlineFolderRename(
nsresult rv = NS_ERROR_FAILURE;
if (aStruct && aStruct->fNewName && *aStruct->fNewName)
{
Delete();
nsCOMPtr<nsIMsgFolder> rootFolder;
rv = GetRootFolder(getter_AddRefs(rootFolder));
if (NS_SUCCEEDED(rv))

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

@ -1453,12 +1453,14 @@ nsImapService::RenameLeaf(nsIEventQueue* eventQueue, nsIMsgFolder* srcFolder,
urlSpec.Append(hierarchySeparator);
urlSpec.Append(folderName.GetBuffer());
urlSpec.Append('>');
urlSpec.Append(hierarchySeparator);
PRInt32 leafNameStart =
folderName.RFindChar('/'); // ** troublesome hierarchyseparator
if (leafNameStart != -1)
{
folderName.SetLength(leafNameStart+1);
urlSpec.Append(hierarchySeparator);
urlSpec.Append(folderName.GetBuffer());
}
urlSpec.Append(newLeafName);
nsCOMPtr<nsIURI> uri = do_QueryInterface(imapUrl, &rv);
if (NS_SUCCEEDED(rv) && uri)