From 5f45e727c9abac21b0645b6d918e4d0c65691b5f Mon Sep 17 00:00:00 2001 From: "alecf%netscape.com" <alecf%netscape.com> Date: Mon, 26 Apr 1999 21:38:38 +0000 Subject: [PATCH] switch to using new GetLocalPath call and nsCOMPtr --- mailnews/news/src/nsNewsUtils.cpp | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/mailnews/news/src/nsNewsUtils.cpp b/mailnews/news/src/nsNewsUtils.cpp index e04c4dfe2c840..6cc833a99317e 100644 --- a/mailnews/news/src/nsNewsUtils.cpp +++ b/mailnews/news/src/nsNewsUtils.cpp @@ -20,6 +20,7 @@ #include "nsNewsUtils.h" #include "nsIServiceManager.h" #include "prsystem.h" +#include "nsCOMPtr.h" // stuff for temporary root folder hack #include "nsIMsgMailSession.h" @@ -38,31 +39,17 @@ nsGetNewsRoot(nsFileSpec &result) nsresult rv = NS_OK; if (gNewsRoot == nsnull) { - nsIMsgMailSession *session; - rv = nsServiceManager::GetService(kMsgMailSessionCID, - nsIMsgMailSession::GetIID(), - (nsISupports **)&session); + NS_WITH_SERVICE(nsIMsgMailSession, session, kMsgMailSessionCID, &rv); if (NS_SUCCEEDED(rv)) { - nsIMsgIncomingServer *server; - rv = session->GetCurrentServer(&server); - if (NS_FAILED(rv)) printf("nsGetNewsRoot: Couldn't get current server\n"); - if (NS_SUCCEEDED(rv)) { - nsINntpIncomingServer *nntpServer; - rv = server->QueryInterface(nsINntpIncomingServer::GetIID(), - (void **)&nntpServer); - if (NS_FAILED(rv)) printf("nsGetNewsRoot: Couldn't get nntp server\n"); - if (NS_SUCCEEDED(rv)) { - rv = nntpServer->GetRootFolderPath(&gNewsRoot); - if (NS_FAILED(rv)) printf("nsGetNewsRoot: Couldn't get root\n"); - NS_RELEASE(nntpServer); - } - NS_RELEASE(server); - - } - nsServiceManager::ReleaseService(kMsgMailSessionCID, session); + nsCOMPtr<nsIMsgIncomingServer> server; + rv = session->GetCurrentServer(getter_AddRefs(server)); + + if (NS_SUCCEEDED(rv)) + rv = server->GetLocalPath(&gNewsRoot); } } /* if (gNewsRoot == nsnull) .. */ + result = gNewsRoot; return rv; } @@ -263,4 +250,4 @@ nsresult nsBuildNewsMessageURI(const nsFileSpec& path, PRUint32 key, char** uri) return NS_OK; -} \ No newline at end of file +} -- GitLab