Moved parse url utility

git-svn-id: svn://10.0.0.236/trunk@23941 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
putterman%netscape.com
1999-03-12 13:17:21 +00:00
parent 3a9a14da2b
commit de4b563b52
4 changed files with 30 additions and 30 deletions

View File

@@ -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

View File

@@ -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;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -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;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -132,7 +132,4 @@ protected:
nsMailDatabase* mMailDatabase;
};
extern nsresult
nsParseLocalMessageURI(const char* uri, nsString& folderURI, nsMsgKey *key);
#endif // nsMsgLocalMailFolder_h__