return rv;
return NS_ERROR_FAILURE;
nsresult nsPref::useDefaultPrefFile()//----------------------------------------------------------------------------------------{    nsIFileSpec* prefsFile = NS_LocateFileOrDirectory(nsSpecialFileSpec::App_PreferencesFile50);    nsresult rv;    if (!prefsFile)    {	    // locator couldn't find where to put it. So put it in the cwd (NB, viewer comes here.)	    prefsFile = NS_CreateFileSpec();	    if (!prefsFile)	    	return rv;	    prefsFile->SetUnixStyleFilePath("default_prefs.js"); // in default working directory.    }    if (Exists(prefsFile))        return ReadUserPrefsFrom(prefsFile);	// no prefs file.  make a stub of one. This is temporary, and must be removed.  nsOutputFileStream stream(prefsFile);  if (stream.is_open())  {    stream << PREFS_HEADER_LINE_1 << nsEndl << PREFS_HEADER_LINE_2 << nsEndl << nsEndl;    stream.close();  }    if (Exists(prefsFile))  {    rv = ReadUserPrefsFrom(prefsFile);    // sspitzer:  eventually this code should be moved into the profile manager    // that code should be setting up the prefs based on the what the user enters.    NS_WITH_SERVICE(nsIProfile, profileService, kProfileCID, &rv);    if (NS_SUCCEEDED(rv)) {      char* currProfileName = nsnull;      rv = profileService->GetCurrentProfile(&currProfileName);      if (NS_SUCCEEDED(rv)) {        char *imapDirStr;        char *newsDirStr;        char *emailStr;                emailStr = PR_smprintf("%s@netscape.com",currProfileName);#ifdef XP_UNIX        imapDirStr = PR_smprintf("/u/%s/ImapMail", currProfileName);        newsDirStr = PR_smprintf("/u/%s", currProfileName);#else#ifdef XP_MAC        imapDirStr = PR_smprintf("HD:System Folder:Preferences:Netscape Users:%s:ImapMail", currProfileName);        newsDirStr = PR_smprintf("HD:System Folder:Preferences:Netscape Users:%s:News", currProfileName);#else#ifdef XP_WIN        imapDirStr = PR_smprintf("c:\\program files\\netscape\\users\\%s\\ImapMail",currProfileName);        newsDirStr = PR_smprintf("c:\\program files\\netscape\\users\\%s\\News",currProfileName);#else#error you_need_to_edit_this_file_for_your_freak_os#endif /* XP_WIN */#endif /* XP_MAC */#endif /* XP_UNIX */        SetCharPref("browser.startup.homepage", "http://www.mozilla.org");        SetCharPref("mail.accountmanager.accounts", "account0,account1");        SetCharPref("mail.account.account0.identities", "id1");        SetCharPref("mail.account.account0.server", "server0");        SetCharPref("mail.account.account1.identities", "id1");        SetCharPref("mail.account.account1.server", "server1");        SetCharPref("mail.identity.id1.fullName", currProfileName);        SetCharPref("mail.identity.id1.organization", "mozilla.org");        SetCharPref("mail.identity.id1.smtp_name", currProfileName);        SetCharPref("mail.identity.id1.smtp_server", "nsmail-2");        SetCharPref("mail.identity.id1.useremail", emailStr);        SetBoolPref("mail.identity.id1.send_html", PR_TRUE);        SetIntPref("mail.identity.id1.wrap_column", 72);        SetCharPref("mail.server.server0.directory", imapDirStr);        SetCharPref("mail.server.server0.hostname", "nsmail-2");        SetCharPref("mail.server.server0.password", "clear text password");        SetCharPref("mail.server.server0.type", "imap");        SetCharPref("mail.server.server0.userName", currProfileName);        SetCharPref("mail.server.server1.directory", newsDirStr);        SetCharPref("mail.server.server1.hostname", "news.mozilla.org");        SetCharPref("mail.server.server1.type", "nntp");        SetIntPref("news.max_articles",50);        SetBoolPref("news.mark_old_read",PR_FALSE);        PR_FREEIF(imapDirStr);        PR_FREEIF(newsDirStr);        PR_FREEIF(emailStr);                // need to save the prefs now        SavePrefFile();      }      if (currProfileName) PR_DELETE(currProfileName);    }  }    return rv;} // nsPref::useDefaultPrefFile