[Bug 214366]

Neil-httl 214366 at bugs.launchpad.net
Wed Feb 5 21:07:37 UTC 2014


Comment on attachment 8370331
WIP patch 2

>+  PRUint32 i = 2;
>+  nsAutoString newFolderNameUnderTrash(folderName);
>+  while (1) {
>+    rv = CheckIfFolderExists(newFolderNameUnderTrash, this, NULL);
>+    if (rv == NS_MSG_FOLDER_EXISTS) {
>+      newFolderNameUnderTrash.Assign(folderName);
>+      newFolderNameUnderTrash.AppendLiteral("-"); // do we want this localizable? "<folder>-<SeqNo>"
>+      newFolderNameUnderTrash.AppendInt(i);
>+      i++;
>+    } else if (NS_SUCCEEDED(rv)) {
>+      // NS_OK so the tried folder name doesn't exist
>+      break;
>+    } else {
>+      return rv;
>+    }
>+  }
CheckIfFolderExists is overkill if you don't want to alert, use ContainsChildNamed instead. Also, the loop is horribly written, though maybe you might think my version is going too far the other way:
bool containsChild;
for (int32_t i = 2; ContainsChildNamed(destFolderName, &containsChild), containsChild; i++) {
  // compute new folder name
}

-- 
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to Mozilla.
https://bugs.launchpad.net/bugs/214366

Title:
  Can't delete a folder if Trash already contains a folder of the same
  name

To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/214366/+subscriptions




More information about the Ubuntu-mozillateam-bugs mailing list