while (de = PR_ReadDir(d, n++))
while ((de = PR_ReadDir(d, (PRDirFlags)(n++))) != NULL)
fsRemoveDir(char *filePathname, PRBool justCheckWriteAccess){	PRBool		dirFlag, errFlag = false;	PRDir		*d, *tempD;	PRDirEntry	*de;	char		*base, *dirStr, *fileStr;	int		len, n = PR_SKIP_BOTH;	if (filePathname == NULL)			return(true);	if ((d = OpenDir(filePathname)) == NULL)	return(true);	while (de = PR_ReadDir(d, n++))	{		base = NET_Escape(de->name, URL_XALPHAS);		if (base == NULL)	return(true);		fileStr = append2Strings(filePathname, base);		XP_FREE(base);		if (fileStr == NULL)	return(true);		dirFlag = (((tempD = OpenDir(fileStr)) != NULL)	? true:false);		if (tempD != NULL)		{			PR_CloseDir(tempD);		}		if (dirFlag)		{			dirStr = append2Strings(fileStr, "/");			errFlag = fsRemoveDir(dirStr, justCheckWriteAccess);			if (dirStr != NULL)	freeMem(dirStr);		}		else		{			errFlag = fsRemoveFile(fileStr, justCheckWriteAccess);		}		freeMem(fileStr);		if (errFlag == true)	break;	}	PR_CloseDir(d);	if (errFlag == false)	{		if ((dirStr = copyString(filePathname)) != NULL)		{			len = strlen(dirStr)-1;			if (dirStr[len] == '/')			{				dirStr[len] = '\0';			}			if (justCheckWriteAccess == true)			{				errFlag = fsRemoveFile(dirStr, justCheckWriteAccess);			}			else			{				errFlag = (CallPR_RmDirUsingFileURL(dirStr) != 0);				if (errFlag == true)				{					FE_Alert(((MWContext *)gRDFMWContext()),						PR_smprintf(XP_GetString(RDF_UNABLETODELETEFOLDER),						filePathname));				}			}			freeMem(dirStr);		}	}	return(errFlag);}