Fixed __PHYSFS_platformTell() things in stable-1.0 branch.

This commit is contained in:
Ryan C. Gordon 2011-08-01 17:55:45 -04:00
parent 1921be0ddf
commit 8ae1b528a0
4 changed files with 6 additions and 7 deletions

View File

@ -1431,8 +1431,7 @@ int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos);
* *
* Not all file types can "tell"; this is to be expected by the caller. * Not all file types can "tell"; this is to be expected by the caller.
* *
* On error, call __PHYSFS_setError() and return zero. On success, return * On error, call __PHYSFS_setError() and return -1. On success, return >= 0.
* a non-zero value.
*/ */
PHYSFS_sint64 __PHYSFS_platformTell(void *opaque); PHYSFS_sint64 __PHYSFS_platformTell(void *opaque);

View File

@ -553,7 +553,7 @@ PHYSFS_sint64 __PHYSFS_platformTell(void *opaque)
LowPos = SetFilePointer(FileHandle, 0, &HighPos, FILE_CURRENT); LowPos = SetFilePointer(FileHandle, 0, &HighPos, FILE_CURRENT);
if ((LowPos == INVALID_SET_FILE_POINTER) && (GetLastError() != NO_ERROR)) if ((LowPos == INVALID_SET_FILE_POINTER) && (GetLastError() != NO_ERROR))
{ {
BAIL_MACRO(win32strerror(), 0); BAIL_MACRO(win32strerror(), -1);
} /* if */ } /* if */
else else
{ {
@ -599,7 +599,7 @@ int __PHYSFS_platformEOF(void *opaque)
return 1; /* we're definitely at EOF. */ return 1; /* we're definitely at EOF. */
/* Get the current position in the file */ /* Get the current position in the file */
if ((FilePosition = __PHYSFS_platformTell(opaque)) != 0) if ((FilePosition = __PHYSFS_platformTell(opaque)) != -1)
{ {
/* Non-zero if EOF is equal to the file length */ /* Non-zero if EOF is equal to the file length */
retval = (FilePosition == FileLength); retval = (FilePosition == FileLength);

View File

@ -478,7 +478,7 @@ int __PHYSFS_platformEOF(void *opaque)
{ {
PHYSFS_sint64 pos = __PHYSFS_platformTell(opaque); PHYSFS_sint64 pos = __PHYSFS_platformTell(opaque);
PHYSFS_sint64 len = __PHYSFS_platformFileLength(opaque); PHYSFS_sint64 len = __PHYSFS_platformFileLength(opaque);
return(pos >= len); return((pos < 0) || (len < 0) || (pos >= len));
} /* __PHYSFS_platformEOF */ } /* __PHYSFS_platformEOF */

View File

@ -897,7 +897,7 @@ PHYSFS_sint64 __PHYSFS_platformTell(void *opaque)
if ( (LowPos == PHYSFS_INVALID_SET_FILE_POINTER) && if ( (LowPos == PHYSFS_INVALID_SET_FILE_POINTER) &&
(GetLastError() != NO_ERROR) ) (GetLastError() != NO_ERROR) )
{ {
BAIL_MACRO(win32strerror(), 0); BAIL_MACRO(win32strerror(), -1);
} /* if */ } /* if */
else else
{ {
@ -944,7 +944,7 @@ int __PHYSFS_platformEOF(void *opaque)
return 1; /* we're definitely at EOF. */ return 1; /* we're definitely at EOF. */
/* Get the current position in the file */ /* Get the current position in the file */
if ((FilePosition = __PHYSFS_platformTell(opaque)) != 0) if ((FilePosition = __PHYSFS_platformTell(opaque)) != -1
{ {
/* Non-zero if EOF is equal to the file length */ /* Non-zero if EOF is equal to the file length */
retval = (FilePosition == FileLength); retval = (FilePosition == FileLength);