Cleaned up some __PHYSFS_platformStat() details.

This commit is contained in:
Ryan C. Gordon 2012-03-09 03:32:26 -05:00
parent de27c2a422
commit 54cc53349d
2 changed files with 9 additions and 15 deletions

View File

@ -72,7 +72,7 @@ static PHYSFS_Io *doOpen(dvoid *opaque, const char *name,
allocator.Free(f);
if (io == NULL)
{
PHYSFS_Stat statbuf;
PHYSFS_Stat statbuf; /* !!! FIXME: this changes the error message. */
__PHYSFS_platformStat(f, fileExists, &statbuf);
return NULL;
} /* if */

View File

@ -205,13 +205,12 @@ void __PHYSFS_platformEnumerateFiles(const char *dirname,
strcpy(buf + dlen, ent->d_name);
if (__PHYSFS_platformStat(buf, &exists, &statbuf))
{
if (!exists)
continue;
else if (statbuf.filetype == PHYSFS_FILETYPE_SYMLINK)
continue;
} /* if */
if (!__PHYSFS_platformStat(buf, &exists, &statbuf))
continue;
else if (!exists)
continue; /* probably can't happen, but just in case. */
else if (statbuf.filetype == PHYSFS_FILETYPE_SYMLINK)
continue;
} /* if */
callback(callbackdata, origdir, ent->d_name);
@ -389,14 +388,9 @@ int __PHYSFS_platformStat(const char *filename, int *exists, PHYSFS_Stat *st)
{
struct stat statbuf;
if (lstat(filename, &statbuf))
if (lstat(filename, &statbuf) == -1)
{
if (errno == ENOENT)
{
*exists = 0;
return 0;
} /* if */
*exists = (errno == ENOENT);
BAIL_MACRO(strerror(errno), 0);
} /* if */