while ((de = PR_ReadDir((PRDir*)c->pdata, c->count++)) != NULL)
while ((de = PR_ReadDir((PRDir*)c->pdata, (PRDirFlags)(c->count++))) != NULL)
fsNextValue (RDFT rdf, RDF_Cursor c){	PRBool			isDirectoryFlag = false, sep;	PRDirEntry		*de;	PRFileInfo		fn;	RDF_Resource		vol;	char			*base, *encoded = NULL, *url, *url2;	void			*retVal = NULL;#ifdef	XP_MAC	FInfo			finfo;	FSSpec			fsspec;	OSErr			err;#endif	XP_ASSERT(c != NULL);	if (c == NULL)				return(NULL);	if (c->type != RDF_RESOURCE_TYPE)	return(NULL);	if (c->u == gNavCenter->RDF_LocalFiles)	{		do		{			if ((url = getVolume(c->count++, PR_FALSE)) != NULL)			{				if ((vol = RDF_GetResource(NULL, url, 1)) != NULL)				{					setContainerp(vol, 1);					setResourceType(vol, LFS_RT);					retVal = (void *)vol;				}				XP_FREE(url);			}		} while((retVal == NULL) && (c->count <= 26));	}	else if (c->pdata != NULL)	{		while ((de = PR_ReadDir((PRDir*)c->pdata, c->count++)) != NULL)		{			if ((base = NET_Escape(de->name, URL_XALPHAS)) != NULL)		/* URL_PATH */			{				sep = ((resourceID(c->u))[strlen(resourceID(c->u))-1] == XP_DIRECTORY_SEPARATOR);				if (sep)				{					url = PR_smprintf("%s%s",  resourceID(c->u), base);				}				else				{					url = PR_smprintf("%s/%s",  resourceID(c->u), base);				}				XP_FREE(base);				if (url != NULL)				{					encoded = unescapeURL(&url[FS_URL_OFFSET]);					if (encoded != NULL)					{#ifdef  XP_WIN						if (encoded[1] == '|') encoded[1] = ':';#endif						PR_GetFileInfo(encoded, &fn);						if (fn.type == PR_FILE_DIRECTORY)						{							isDirectoryFlag = TRUE;							url2 = PR_smprintf("%s/", url);							XP_FREE(url);							url = url2;						}						freeMem(encoded);					}#ifdef	XP_WIN					if ((!strcmp(url, ".")) || (!strcmp(url, "..")))					{						XP_FREE(url);						url = NULL;					}#endif					if (url != NULL)					{						retVal = (void *)CreateFSUnit(url, isDirectoryFlag);						XP_FREE(url);						break;					}				}			}		}		if (de == NULL)		{			PR_CloseDir((PRDir*)c->pdata);			c->pdata = NULL;		}	}	return(retVal);}