From b531bff61e8a5c01ce101cb4158fdaab1e7e28e7 Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Wed, 21 Mar 2001 02:49:37 +0000 Subject: [PATCH] fix for #72750, sr=mscott. caused by me not paying attention to 32 character limit for filenames on the mac. git-svn-id: svn://10.0.0.236/trunk@89968 18797224-902f-48f8-a5cc-f745e15eee43 --- .../base/resources/content/mailCommands.js | 23 +++++++++++-------- mozilla/mailnews/news/src/nsNewsFolder.cpp | 7 ++++-- 2 files changed, 19 insertions(+), 11 deletions(-) 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) {