diff options
author | Johannes Schickel | 2011-04-19 18:08:47 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-04-19 18:08:47 +0200 |
commit | c6112f738312ff6243b3fca1373d4d44ef08ee32 (patch) | |
tree | 68787dc02ea7747f3604017f03ab62c4ffa16e5e /common | |
parent | 10b0294c9405356a0bd426285d260a108e66c3d2 (diff) | |
download | scummvm-rg350-c6112f738312ff6243b3fca1373d4d44ef08ee32.tar.gz scummvm-rg350-c6112f738312ff6243b3fca1373d4d44ef08ee32.tar.bz2 scummvm-rg350-c6112f738312ff6243b3fca1373d4d44ef08ee32.zip |
COMMON: Do not call ReadStream::eos in SubReadStream::read.
Instead I moved the call to ReadStream::eos into SubReadStream::eos.
fuzzie pointed out that in certain cases this resulted in a lot of eos calls
before. Those were rather needlessly, since checking the eos bit of the
decorated stream in read does not give any advantage over checking it when
the client code really wants to test the eos flag.
Diffstat (limited to 'common')
-rw-r--r-- | common/stream.cpp | 1 | ||||
-rw-r--r-- | common/substream.h | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/common/stream.cpp b/common/stream.cpp index c0783b2352..1be3fbffea 100644 --- a/common/stream.cpp +++ b/common/stream.cpp @@ -205,7 +205,6 @@ uint32 SubReadStream::read(void *dataPtr, uint32 dataSize) { } dataSize = _parentStream->read(dataPtr, dataSize); - _eos |= _parentStream->eos(); _pos += dataSize; return dataSize; diff --git a/common/substream.h b/common/substream.h index dc49ce9ecf..4d90ec5ced 100644 --- a/common/substream.h +++ b/common/substream.h @@ -59,7 +59,7 @@ public: delete _parentStream; } - virtual bool eos() const { return _eos; } + virtual bool eos() const { return _eos | _parentStream->eos(); } virtual bool err() const { return _parentStream->err(); } virtual void clearErr() { _eos = false; _parentStream->clearErr(); } virtual uint32 read(void *dataPtr, uint32 dataSize); |