Explorar el Código

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 hace 14 años
padre
commit
624d7f3a42
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  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 */