[Scummvm-cvs-logs] CVS: scummvm/common file.cpp,1.3,1.4 file.h,1.2,1.3

Pawe? Ko?odziejski aquadran at users.sourceforge.net
Mon Sep 2 00:56:10 CEST 2002


Update of /cvsroot/scummvm/scummvm/common
In directory usw-pr-cvs1:/tmp/cvs-serv17470/common

Modified Files:
	file.cpp file.h 
Log Message:
changed file io in sounds to class File

Index: file.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/file.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- file.cpp	31 Aug 2002 13:29:08 -0000	1.3
+++ file.cpp	2 Sep 2002 07:53:43 -0000	1.4
@@ -114,7 +114,7 @@
 		clearerr(_handle);
 }
 
-void File::read(void *ptr, uint32 size) {
+uint32 File::read(void *ptr, uint32 size) {
 	byte *ptr2 = (byte *)ptr;
 
 	if (_handle == NULL) {
@@ -125,14 +125,19 @@
 	if (size == 0)
 		return;
 
-	if ((uint32)fread(ptr2, size, 1, _handle) != 1) {
+	if ((uint32)fread(ptr2, 1, size, _handle) != size) {
 		clearerr(_handle);
 		_readFailed = true;
 	}
 
-	do {
-		*ptr2++ ^= _encbyte;
-	} while (--size);
+	if (_encbyte != 0) {
+		uint32 t_size = size;
+		do {
+			*ptr2++ ^= _encbyte;
+		} while (--t_size);
+	}
+
+	return size;
 }
 
 byte File::readByte() {

Index: file.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/file.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- file.h	31 Aug 2002 09:55:58 -0000	1.2
+++ file.h	2 Sep 2002 07:53:43 -0000	1.3
@@ -46,7 +46,7 @@
 	bool eof();
 	uint32 pos();
 	void seek(uint32 offs, int whence);
-	void read(void *ptr, uint32 size);
+	uint32 read(void *ptr, uint32 size);
 	byte readByte();
 	uint16 readWordLE();
 	uint32 readDwordLE();





More information about the Scummvm-git-logs mailing list