return NS_OK;
nsHistoryDataSource::Init(const char* uri){	nsresult rv;	if (NS_FAILED(rv = nsComponentManager::CreateInstance(kRDFInMemoryDataSourceCID,			nsnull, kIRDFDataSourceIID, (void**) &mInner)))		return rv;	if (NS_FAILED(rv = mInner->Init(uri)))		return rv;	// register this as a named data source with the RDF service	if (NS_FAILED(rv = gRDFService->RegisterDataSource(this)))		return rv;    mLastVisitDateHash = PL_NewHashTable(400, rdf_HashPointer,                                         PL_CompareValues,                                         PL_CompareValues,                                         nsnull, nsnull);     PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &mSessionTime);        if (NS_FAILED(rv = ReadHistory()))        return rv;    char filename[256];    // XXX since we're not really printing an unsinged long, but    // rather an unsigned long-long, this is sure to break at some    // point.    PR_snprintf(filename, sizeof(filename), "%lu.hst", PR_Now());    nsSpecialSystemDirectory historyFile(nsSpecialSystemDirectory::OS_CurrentProcessDirectory);    historyFile += "res";    historyFile += "rdf";    historyFile += "History";#ifdef	XP_MAC	PRBool	wasAlias = PR_FALSE;	historyFile.ResolveAlias(wasAlias);#endif//    historyFile.SetLeafName(filename);    historyFile += filename;    mCurrentFileSpec = historyFile;    return NS_OK;}