aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorMax Horn2009-03-05 20:37:53 +0000
committerMax Horn2009-03-05 20:37:53 +0000
commit05b4370c21b3abf7a1ff6aa83194cf95ab73579c (patch)
treea4d2cecedc5735d3205489e50610f85ca57be348 /engines/scumm
parent2017d1c9ea12968e80a7aaeed1d9289f39c3a96e (diff)
downloadscummvm-rg350-05b4370c21b3abf7a1ff6aa83194cf95ab73579c.tar.gz
scummvm-rg350-05b4370c21b3abf7a1ff6aa83194cf95ab73579c.tar.bz2
scummvm-rg350-05b4370c21b3abf7a1ff6aa83194cf95ab73579c.zip
Fix for bug #2664460: Various SeekableReadStream::seek() implementations (as well as our unit tests, ouch) handled SEEK_END incorrectly (using -offset instead of offset), contrary to what the docs said and what fseek does. Hopefully I found and fixed all affected parts, but still watch out for regressions
svn-id: r39135
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/file.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/engines/scumm/file.cpp b/engines/scumm/file.cpp
index 38c7a1a180..3db2801c01 100644
--- a/engines/scumm/file.cpp
+++ b/engines/scumm/file.cpp
@@ -142,7 +142,7 @@ bool ScummFile::seek(int32 offs, int whence) {
// Constrain the seek to the subfile
switch (whence) {
case SEEK_END:
- offs = _subFileStart + _subFileLen - offs;
+ offs = _subFileStart + _subFileLen + offs;
break;
case SEEK_SET:
offs += _subFileStart;