(void)servMgr->ReleaseService(kComponentManagerCID, compMgr);
NSRegisterSelf(nsISupports* aServMgr, const char* path){  nsresult rv;  nsCOMPtr<nsIServiceManager> servMgr(do_QueryInterface(aServMgr, &rv));  if (NS_FAILED(rv)) return rv;  nsIComponentManager* compMgr;  rv = servMgr->GetService(kComponentManagerCID,                            nsIComponentManager::GetIID(),                            (nsISupports**)&compMgr);  if (NS_FAILED(rv)) return rv;  rv = compMgr->RegisterComponent(kCMailDB, nsnull, nsnull,                                  path, PR_TRUE, PR_TRUE);  if (NS_FAILED(rv)) goto done;  rv = compMgr->RegisterComponent(kCNewsDB, nsnull, nsnull,                                   path, PR_TRUE, PR_TRUE);  if (NS_FAILED(rv)) goto done;  rv = compMgr->RegisterComponent(kCImapDB, nsnull, nsnull,                                  path, PR_TRUE, PR_TRUE);  if (NS_FAILED(rv)) goto done;    done:  (void)servMgr->ReleaseService(kComponentManagerCID, compMgr);  return rv;}