rv = NS_NewNativeLocalFile(nsDependentCString(buffer), PR_FALSE,
rv = NS_NewNativeLocalFile(buf, PR_FALSE,
CheckCompatibility(nsIFile* aProfileDir, const nsCString& aVersion,                   nsIFile* aXULRunnerDir, nsIFile* aAppDir){  nsCOMPtr<nsIFile> file;  aProfileDir->Clone(getter_AddRefs(file));  if (!file)    return PR_FALSE;  file->AppendNative(FILE_COMPATIBILITY_INFO);  nsINIParser parser;  nsCOMPtr<nsILocalFile> localFile(do_QueryInterface(file));  nsresult rv = parser.Init(localFile);  if (NS_FAILED(rv))    return PR_FALSE;  char buffer[MAXPATHLEN];  rv = parser.GetString("Compatibility", "LastVersion", buffer, sizeof(buffer));  if (NS_FAILED(rv))    return PR_FALSE;  if (!aVersion.Equals(buffer))    return PR_FALSE;  rv = parser.GetString("Compatibility", "LastPlatformDir",                        buffer, sizeof(buffer));  if (NS_FAILED(rv))    return PR_FALSE;  nsCOMPtr<nsILocalFile> lf;  rv = NS_NewNativeLocalFile(nsDependentCString(buffer), PR_FALSE,                             getter_AddRefs(lf));  if (NS_FAILED(rv))    return PR_FALSE;  PRBool eq;  rv = lf->Equals(aXULRunnerDir, &eq);  if (NS_FAILED(rv) || !eq)    return PR_FALSE;  if (aAppDir) {    rv = parser.GetString("Compatibility", "LastAppDir",                          buffer, sizeof(buffer));    if (NS_FAILED(rv))      return PR_FALSE;    rv = NS_NewNativeLocalFile(nsDependentCString(buffer), PR_FALSE,                               getter_AddRefs(lf));    if (NS_FAILED(rv))      return PR_FALSE;    rv = lf->Equals(aAppDir, &eq);    if (NS_FAILED(rv) || !eq)      return PR_FALSE;  }  return PR_TRUE;}