if (NS_SUCCEEDED(rv)) {  nsINNTPHost * host = nsnull; nsINNTPNewsgroup * group = nsnull; nsINNTPNewsgroupList * list = nsnull; rv = m_url->GetNntpHost(&host); if (host) { rv = host->FindGroup(m_userData, &group); if (group) group->GetNewsgroupList(&list);  rv = m_url->SetNewsgroup(group); rv = m_url->SetNewsgroupList(list); NS_IF_RELEASE(group); NS_IF_RELEASE(list); NS_IF_RELEASE(host); }
if (NS_SUCCEEDED(rv)) { SetupUrl(m_userData);
nsresult nsNntpTestDriver::OnGetGroup(){	nsresult rv = NS_OK;	// first, prompt the user for the name of the group to fetch	rv = PromptForUserDataAndBuildUrl("Group to fetch: ");	// no prompt for url data....just append a '*' to the url data and run it...	m_urlString[0] = '\0';	PL_strcpy(m_urlString, m_urlSpec);	PL_strcat(m_urlString, "/");	PL_strcat(m_urlString, m_userData);	if (m_protocolInitialized == PR_FALSE)		InitializeProtocol(m_urlString);	else		m_url->SetSpec(m_urlString); // reset spec		if (NS_SUCCEEDED(rv))	{		 // before we re-load, assume it is a group command and configure our nntpurl correctly...		 nsINNTPHost * host = nsnull;		 nsINNTPNewsgroup * group = nsnull;		 nsINNTPNewsgroupList * list = nsnull;		 rv = m_url->GetNntpHost(&host);		 if (host)		 {			rv = host->FindGroup(m_userData, &group);			if (group)				group->GetNewsgroupList(&list);			rv = m_url->SetNewsgroup(group);			rv = m_url->SetNewsgroupList(list);			NS_IF_RELEASE(group);			NS_IF_RELEASE(list);			NS_IF_RELEASE(host);		 }		rv = m_nntpProtocol->LoadURL(m_url);	} // if user provided the data...	return rv;}