aboutsummaryrefslogtreecommitdiff
path: root/engines/made/redreader.cpp
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2008-09-14 22:28:53 +0000
committerWillem Jan Palenstijn2008-09-14 22:28:53 +0000
commitc8eeae8d4dffa5849a23cf963884027a7789504b (patch)
tree1f2a0de23851cb7e7d1d77114c8379aa27f4fb85 /engines/made/redreader.cpp
parentfbfe30bf861af9b83325e0c7fecd4b0a68da5af9 (diff)
downloadscummvm-rg350-c8eeae8d4dffa5849a23cf963884027a7789504b.tar.gz
scummvm-rg350-c8eeae8d4dffa5849a23cf963884027a7789504b.tar.bz2
scummvm-rg350-c8eeae8d4dffa5849a23cf963884027a7789504b.zip
Big patch changing semantics of ReadStream::eos():
eos() now only returns true _after_ trying to read past the end of the stream. This has a large potential for regressions. Please test! svn-id: r34549
Diffstat (limited to 'engines/made/redreader.cpp')
-rw-r--r--engines/made/redreader.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/made/redreader.cpp b/engines/made/redreader.cpp
index 5d0721bc1f..a61d122041 100644
--- a/engines/made/redreader.cpp
+++ b/engines/made/redreader.cpp
@@ -55,9 +55,11 @@ Common::MemoryReadStream *RedReader::loadFromRed(const char *redFilename, const
bool RedReader::seekFile(Common::File &fd, FileEntry &fileEntry, const char *filename) {
char arcFilename[13];
- while (!fd.eos()) {
+ while (true) {
fd.skip(8); // skip unknown
fileEntry.compSize = fd.readUint32LE();
+ if (fd.eos()) break;
+
fileEntry.origSize = fd.readUint32LE();
fd.skip(10); // skip unknown
fd.read(arcFilename, 13);