if (!fileSpec->Exists()) return PREF_ERROR;
PrefResult pref_OpenFileSpec(    nsIFileSpec* fileSpec,    PRBool is_error_fatal,    PRBool verifyHash,    PRBool bGlobalContext,    PRBool skipFirstLine)//----------------------------------------------------------------------------------------{    PrefResult result = PREF_NOERROR;    if (NS_FAILED(fileSpec->ResolveSymlink()))      return PREF_ERROR;        char* readBuf;    if (NS_FAILED(fileSpec->GetFileContents(&readBuf)))    	return PREF_ERROR;    long fileLength = PL_strlen(readBuf);    if (verifyHash && !pref_VerifyLockFile(readBuf, fileLength))        result = PREF_BAD_LOCKFILE;    if (!PREF_EvaluateConfigScript(readBuf, fileLength,            nsnull, bGlobalContext, PR_TRUE, skipFirstLine))        result = PREF_ERROR;    PR_Free(readBuf);    // If the user prefs file exists but generates an error,    //   don't clobber the file when we try to save it    if ((!readBuf || result != PREF_NOERROR) && is_error_fatal)        gErrorOpeningUserPrefs = PR_TRUE;#if defined(XP_PC) && !defined(XP_OS2)    if (gErrorOpeningUserPrefs && is_error_fatal)        MessageBox(nsnull,"Error in preference file (prefs.js).  Default preferences will be used.","Netscape - Warning", MB_OK);#endif    JS_GC(gMochaContext);    return result;} // pref_OpenFile