Просмотр исходного кода

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 лет назад
Родитель
Сommit
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 */