if (flushLastSearchRef == PR_TRUE) {  nsCOMPtr<nsIRDFNode>	lastTarget; if (NS_SUCCEEDED(rv = mInner->GetTarget(kNC_LastSearchRoot, kNC_Ref, PR_TRUE, getter_AddRefs(lastTarget))) && (rv != NS_RDF_NO_VALUE)) { nsCOMPtr<nsIRDFLiteral>	lastLiteral (do_QueryInterface(lastTarget)); if (lastLiteral) { rv = mInner->Unassert(kNC_LastSearchRoot, kNC_Ref, lastLiteral); } } }
InternetSearchDataSource::ClearResults(PRBool flushLastSearchRef){	if (!mInner)	return(NS_ERROR_UNEXPECTED);	// forget any nodes under the last search root	nsresult			rv;	nsCOMPtr<nsISimpleEnumerator>	arcs;	if (NS_SUCCEEDED(rv = mInner->GetTargets(kNC_LastSearchRoot, kNC_Child, PR_TRUE, getter_AddRefs(arcs))))	{		PRBool			hasMore = PR_TRUE;		while (hasMore == PR_TRUE)		{			if (NS_FAILED(arcs->HasMoreElements(&hasMore)) || (hasMore == PR_FALSE))				break;			nsCOMPtr<nsISupports>	arc;			if (NS_FAILED(arcs->GetNext(getter_AddRefs(arc))))				break;			nsCOMPtr<nsIRDFResource> child (do_QueryInterface(arc));			if (child)			{				mInner->Unassert(kNC_LastSearchRoot, kNC_Child, child);			}		}	}	if (flushLastSearchRef == PR_TRUE)	{		// forget the last search query		nsCOMPtr<nsIRDFNode>	lastTarget;		if (NS_SUCCEEDED(rv = mInner->GetTarget(kNC_LastSearchRoot, kNC_Ref,			PR_TRUE, getter_AddRefs(lastTarget))) && (rv != NS_RDF_NO_VALUE))		{			nsCOMPtr<nsIRDFLiteral>	lastLiteral (do_QueryInterface(lastTarget));			if (lastLiteral)			{				rv = mInner->Unassert(kNC_LastSearchRoot, kNC_Ref, lastLiteral);			}		}	}	return(NS_OK);}