소스 검색

Fixed PHYSFS_read() and PHYSFS_write() in the dev branch.

PHYSFS_read() and PHYSFS_write() should return number of objects written,
 not object size.

Thanks to Evgeny Podjachev for the fix!
Ryan C. Gordon 14 년 전
부모
커밋
624d7f3a42
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      src/physfs.c

+ 2 - 2
src/physfs.c

@@ -2407,7 +2407,7 @@ PHYSFS_sint64 PHYSFS_read(PHYSFS_File *handle, void *buffer,
 {
     const PHYSFS_uint64 len = ((PHYSFS_uint64) size) * ((PHYSFS_uint64) count);
     const PHYSFS_sint64 retval = PHYSFS_readBytes(handle, buffer, len);
-    return ( (retval <= 0) ? retval : (retval / ((PHYSFS_sint64) count)) );
+    return ( (retval <= 0) ? retval : (retval / ((PHYSFS_sint64) size)) );
 } /* PHYSFS_read */
 
 
@@ -2457,7 +2457,7 @@ PHYSFS_sint64 PHYSFS_write(PHYSFS_File *handle, const void *buffer,
 {
     const PHYSFS_uint64 len = ((PHYSFS_uint64) size) * ((PHYSFS_uint64) count);
     const PHYSFS_sint64 retval = PHYSFS_writeBytes(handle, buffer, len);
-    return ( (retval <= 0) ? retval : (retval / ((PHYSFS_sint64) count)) );
+    return ( (retval <= 0) ? retval : (retval / ((PHYSFS_sint64) size)) );
 } /* PHYSFS_write */