diff --git a/mozilla/mailnews/base/resources/content/mailCommands.js b/mozilla/mailnews/base/resources/content/mailCommands.js index dc304912e93..dfe4690ca36 100644 --- a/mozilla/mailnews/base/resources/content/mailCommands.js +++ b/mozilla/mailnews/base/resources/content/mailCommands.js @@ -314,25 +314,30 @@ function Subscribe(preselectedMsgFolder) function SubscribeOKCallback(changeTable) { for (var serverURI in changeTable) { - //dump("serverURI = " + serverURI + "\n"); var folder = GetMsgFolderFromUri(serverURI); var server = folder.server; var subscribableServer = server.QueryInterface(Components.interfaces.nsISubscribableServer); for (var name in changeTable[serverURI]) { - //dump("name = " + name + "\n"); - //dump("(" + serverURI + "," + name + ") = " + changeTable[serverURI][name] + "\n"); if (changeTable[serverURI][name] == true) { - //dump("from js, subscribe to " + name +" on " + serverURI + "\n"); - subscribableServer.subscribe(name); + try { + subscribableServer.subscribe(name); + } + catch (ex) { + dump("failed to subscribe to " + name + ": " + ex + "\n"); + } } else if (changeTable[serverURI][name] == false) { - //dump("from js, unsubscribe to " + name +" on " + serverURI + "\n"); - subscribableServer.unsubscribe(name); + try { + subscribableServer.unsubscribe(name); + } + catch (ex) { + dump("failed to unsubscribe to " + name + ": " + ex + "\n"); + } } else { - //dump("no change to " + name + " on " + serverURI +"\n"); + // no change } } @@ -340,7 +345,7 @@ function SubscribeOKCallback(changeTable) subscribableServer.commitSubscribeChanges(); } catch (ex) { - dump(ex + "\n"); + dump("failed to commit the changes: " + ex + "\n"); } } } diff --git a/mozilla/mailnews/news/src/nsNewsFolder.cpp b/mozilla/mailnews/news/src/nsNewsFolder.cpp index 3f5a2d64751..005368b76cb 100644 --- a/mozilla/mailnews/news/src/nsNewsFolder.cpp +++ b/mozilla/mailnews/news/src/nsNewsFolder.cpp @@ -544,8 +544,11 @@ NS_IMETHODIMP nsMsgNewsFolder::CreateSubfolder(const PRUnichar *uninewsgroupname //Now we have a valid directory or we have returned. //Make sure the new folder name is valid - // do we need to hash newsgroup name if it is too big? - path += (const char *) newsgroupname; + + // remember, some file systems (like mac) can't handle long file names + nsCAutoString hashedName = newsgroupname; + rv = NS_MsgHashIfNecessary(hashedName); + path += (const char *) hashedName; rv = nsComponentManager::CreateInstance(kCNewsDB, nsnull, NS_GET_IID(nsIMsgDatabase), getter_AddRefs(newsDBFactory)); if (NS_SUCCEEDED(rv) && newsDBFactory) {