[Scummvm-cvs-logs] SF.net SVN: scummvm:[42428] scummvm/trunk/backends/platform/ps2

sunmax at users.sourceforge.net sunmax at users.sourceforge.net
Sun Jul 12 23:58:00 CEST 2009


Revision: 42428
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42428&view=rev
Author:   sunmax
Date:     2009-07-12 21:58:00 +0000 (Sun, 12 Jul 2009)

Log Message:
-----------
Split _eof vs. _err.

Latter defaults to false for now, there are hooks
for possible future implementation.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/ps2/fileio.cpp
    scummvm/trunk/backends/platform/ps2/fileio.h

Modified: scummvm/trunk/backends/platform/ps2/fileio.cpp
===================================================================
--- scummvm/trunk/backends/platform/ps2/fileio.cpp	2009-07-12 19:32:01 UTC (rev 42427)
+++ scummvm/trunk/backends/platform/ps2/fileio.cpp	2009-07-12 21:58:00 UTC (rev 42428)
@@ -58,6 +58,7 @@
 	_cacheSize = 0;
 	_cachePos = 0;
 	_eof = false;
+	_err = false;
 
 	// _cache = (uint8 *)malloc(PS2_CACHE_MAX);
 
@@ -224,10 +225,11 @@
 }
 
 bool Ps2File::getErr(void) {
-	return _eof;
+	return _err;
 }
 
 void Ps2File::setErr(bool err) {
+	_err = err;
 	_eof = err;
 }
 
@@ -261,7 +263,9 @@
 		_eof = false;
 		res = 0;
 	}
-	else _eof = true;
+	else {
+		_eof = true;
+	}
 
 	// printf("seek [%d]  %d  %d\n", _fd, offset, origin);
 	// printf("  res = %d\n", res);
@@ -350,10 +354,17 @@
 	printf("read (1) : _cachePos = %d\n", _cachePos);
 #endif
 
+	if (len == 0) {
+#ifdef __PS2_FILE_SEMA__
+		SignalSema(_sema);
+#endif
+		return 0;
+	}
+
 	if (_filePos >= _fileSize) {
 		_eof = true;
 #ifdef __PS2_FILE_SEMA__
-    SignalSema(_sema);
+		SignalSema(_sema);
 #endif
 		return 0;
 	}
@@ -526,11 +537,11 @@
 int ps2_ferror(FILE *stream) {
 	int err = ((Ps2File*)stream)->getErr();
 
-	if (err)
+	if (err) {
 		printf("ferror -> %d\n", err);
+	}
 
-	return 0; // kyra temp
-	// return err;
+	return err;
 }
 
 void ps2_clearerr(FILE *stream) {

Modified: scummvm/trunk/backends/platform/ps2/fileio.h
===================================================================
--- scummvm/trunk/backends/platform/ps2/fileio.h	2009-07-12 19:32:01 UTC (rev 42427)
+++ scummvm/trunk/backends/platform/ps2/fileio.h	2009-07-12 21:58:00 UTC (rev 42428)
@@ -70,7 +70,8 @@
 
 	uint8 *_cache;
 
-	int _eof;
+	bool _eof;
+	bool _err;
 	int _sema;
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list