if (NS_SUCCEEDED(rv) && fileData->data)
if (NS_SUCCEEDED(rv) && fileData->data) { fileData->persistent = PR_FALSE;
static PRBool FindProviderFile(nsISupports* aElement, void *aData){  nsresult rv;  FileData* fileData = (FileData*)aData;  if (fileData->uuid.Equals(NS_GET_IID(nsISimpleEnumerator)))  {      // Not all providers implement this iface      nsCOMPtr<nsIDirectoryServiceProvider2> prov2 = do_QueryInterface(aElement);      if (prov2)      {          rv = prov2->GetFiles(fileData->property, (nsISimpleEnumerator **)&fileData->data);          if (NS_SUCCEEDED(rv) && fileData->data)              return PR_FALSE;      }  }  else  {      nsCOMPtr<nsIDirectoryServiceProvider> prov = do_QueryInterface(aElement);      if (!prov)          return PR_FALSE;      rv = prov->GetFile(fileData->property, &fileData->persistent, (nsIFile **)&fileData->data);      if (NS_SUCCEEDED(rv) && fileData->data)          return PR_FALSE;  }  return PR_TRUE;}