Backport to stable-2.0: don't fsync read-only files.

This commit is contained in:
Ryan C. Gordon 2013-08-22 00:06:23 -04:00
parent 038b0fa5fa
commit 87f4ed6786
2 changed files with 5 additions and 1 deletions

View File

@ -109,6 +109,9 @@ Bug fixes:
Bug fixes:
Lauri Kasanen
Bug fixes:
Andreas Karlsson
Other stuff:
Your name here! Patches go to icculus@icculus.org ...

View File

@ -390,7 +390,8 @@ int __PHYSFS_platformEOF(void *opaque)
int __PHYSFS_platformFlush(void *opaque)
{
int fd = *((int *) opaque);
BAIL_IF_MACRO(fsync(fd) == -1, strerror(errno), 0);
if ((fcntl(fd, F_GETFL) & O_ACCMODE) != O_RDONLY)
BAIL_IF_MACRO(fsync(fd) == -1, strerror(errno), 0);
return(1);
} /* __PHYSFS_platformFlush */