diff --git a/mozilla/mailnews/base/public/msgCore.h b/mozilla/mailnews/base/public/msgCore.h index 2fafc96341c..9fb5d311e99 100644 --- a/mozilla/mailnews/base/public/msgCore.h +++ b/mozilla/mailnews/base/public/msgCore.h @@ -125,6 +125,9 @@ nsPath2URI(const char* rootURI, nsFileSpec& path, char* *uri); extern nsresult nsURI2Name(const char* rootURI, char* uriStr, nsString& name); +extern nsresult +nsParseLocalMessageURI(const char* uri, nsString& folderURI, PRUint32 *key); + //////////////////////////////////////////////////////////////////////////////// #endif diff --git a/mozilla/mailnews/base/src/nsMsgFolder.cpp b/mozilla/mailnews/base/src/nsMsgFolder.cpp index 23c200207bc..3f96c810152 100644 --- a/mozilla/mailnews/base/src/nsMsgFolder.cpp +++ b/mozilla/mailnews/base/src/nsMsgFolder.cpp @@ -1544,4 +1544,31 @@ nsURI2Name(const char* rootURI, char* uriStr, nsString& name) return uri.Right(name, count); } +nsresult nsParseLocalMessageURI(const char* uri, nsString& folderURI, PRUint32 *key) +{ + if(!key) + return NS_ERROR_NULL_POINTER; + + nsAutoString uriStr = uri; + PRInt32 keySeparator = uriStr.Find('#'); + if(keySeparator != -1) + { + nsAutoString folderPath; + uriStr.Left(folderPath, keySeparator); + PRInt32 msfExtPos = folderPath.Find(".msf"); + if(msfExtPos != -1) + folderPath.Left(folderURI, msfExtPos); + else + folderURI = folderPath; + + nsAutoString keyStr; + uriStr.Right(keyStr, uriStr.Length() - (keySeparator + 1)); + PRInt32 errorCode; + *key = keyStr.ToInteger(&errorCode); + + return errorCode; + } + return NS_ERROR_FAILURE; + +} //////////////////////////////////////////////////////////////////////////////// diff --git a/mozilla/mailnews/local/src/nsLocalMailFolder.cpp b/mozilla/mailnews/local/src/nsLocalMailFolder.cpp index d1eb2edfc20..091a8c8730b 100644 --- a/mozilla/mailnews/local/src/nsLocalMailFolder.cpp +++ b/mozilla/mailnews/local/src/nsLocalMailFolder.cpp @@ -44,33 +44,6 @@ static NS_DEFINE_CID(kRDFServiceCID, NS_RDFSERVICE_CID); static NS_DEFINE_CID(kMailboxServiceCID, NS_MAILBOXSERVICE_CID); //////////////////////////////////////////////////////////////////////////////// -nsresult nsParseLocalMessageURI(const char* uri, nsString& folderURI, nsMsgKey *key) -{ - if(!key) - return NS_ERROR_NULL_POINTER; - - nsAutoString uriStr = uri; - PRInt32 keySeparator = uriStr.Find('#'); - if(keySeparator != -1) - { - nsAutoString folderPath; - uriStr.Left(folderPath, keySeparator); - PRInt32 msfExtPos = folderPath.Find(".msf"); - if(msfExtPos != -1) - folderPath.Left(folderURI, msfExtPos); - else - folderURI = folderPath; - - nsAutoString keyStr; - uriStr.Right(keyStr, uriStr.Length() - (keySeparator + 1)); - PRInt32 errorCode; - *key = keyStr.ToInteger(&errorCode); - - return errorCode; - } - return NS_ERROR_FAILURE; - -} //////////////////////////////////////////////////////////////////////////////// diff --git a/mozilla/mailnews/local/src/nsLocalMailFolder.h b/mozilla/mailnews/local/src/nsLocalMailFolder.h index bf3a18e1d3b..9805c9e59ec 100644 --- a/mozilla/mailnews/local/src/nsLocalMailFolder.h +++ b/mozilla/mailnews/local/src/nsLocalMailFolder.h @@ -132,7 +132,4 @@ protected: nsMailDatabase* mMailDatabase; }; -extern nsresult -nsParseLocalMessageURI(const char* uri, nsString& folderURI, nsMsgKey *key); - #endif // nsMsgLocalMailFolder_h__