Johannes Schickel
2f73d64e80
Merge pull request #305 from giucam/bufferedseekable
...
Make BufferedSeekableReadStream use the buffer with SEEK_SET and SEEK_END
2013-01-28 08:43:52 -08:00
Johannes Schickel
5bfd2f6756
COMMON: Fix successive seeks in BufferedSeekableReadStream.
...
This fixes the failing test case added in
da8eeb9dbe
.
Thanks to wjp for his input on this.
2013-01-28 17:34:37 +01:00
Johannes Schickel
354aa0f5f3
JANITORIAL: Use "End of anonymous namespace" as comment for anonymous namespaces.
2013-01-26 19:38:02 +01:00
Johannes Schickel
b4d0a8ba66
JANITORIAL: Enforce "} // End of namespace" with a single space after }.
2013-01-26 19:38:02 +01:00
Giulio Camuffo
edfcd768ba
COMMON: Make BufferedSeekableReadStream use the buffer with SEEK_SET and SEEK_END
2013-01-26 19:12:26 +01:00
Johannes Schickel
48efab4e5a
COMMON: Rename SafeSubReadStream to SafeSeekableSubReadStream.
...
It actually inherits from SeekableSubReadStream, so it should be named
accordingly.
2012-03-11 00:51:20 +01:00
Christoph Mallon
a5a8833c05
COMMON: Add DisposablePtr<T>, which replaces many repeated implementations of a dispose flag.
2011-08-07 15:19:08 +02:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00
Sven Hesse
88d562a361
COMMON: Add a class SafeSubReadStream
...
SafeSubReadStream is basically a SeekableSubReadStream that
re-seek()s the parent stream before each read(). That way, more than
one SafeSubReadStream of the same parent stream can be used safely
at the same time, at the cost of increasing IO.
2011-05-06 16:47:48 +02:00
Ori Avtalion
9414d7a6e2
JANITORIAL: Reduce header dependencies in shared code
...
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Johannes Schickel
c6112f7383
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.
2011-04-19 18:08:47 +02:00
Max Horn
ae919f3ebd
COMMON: Remove XOR decoding capability from MemoryReadStream
...
svn-id: r54436
2010-11-23 22:25:53 +00:00
Max Horn
2180b2d6b5
COMMON: Split common/stream.h into several headers
...
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
9fb1e2b17e
COMMON: Change wrapBufferedWriteStream() to always disposes wrapped stream
...
This is the only we need right now, and it saves a few bytes per
instance. The template approach I used before has the drawback that it
increases the binary size, which negates the benefit. Thanks to LordHoto
for pointing this out.
svn-id: r54344
2010-11-18 20:27:15 +00:00
Max Horn
a9dcb11c54
COMMON: Turn BufferedWriteStream into a template class, with disposeParentStream as param
...
svn-id: r54336
2010-11-18 17:56:21 +00:00
Max Horn
152e52d015
COMMON: Make implementation of Buffered*Stream classes internal
...
svn-id: r54326
2010-11-18 17:02:51 +00:00
Max Horn
4707b610fc
COMMON: Fix incorrect use of assert() macro
...
The assert() macro may be compiled to be empty. In that case, its
arguments are *NOT* evaluated. Hence, things like
assert(doSomething())
must not be used whenever doSomething() has important side effects.
Also document BufferedWriteStream::flushBuffer() and explain why it
exists parallel to BufferedWriteStream::flush().
svn-id: r54322
2010-11-18 16:08:56 +00:00
Jordi Vilalta Prat
8388e0dfea
JANITORAL: Clean trailing whitespaces.
...
svn-id: r53160
2010-10-12 02:18:11 +00:00
Yotam Barnoy
94b41f5d2e
COMMON: remove virtual functions from BufferedStreams
...
As Max pointed out to me, they don't work as expected when called from constructors/destructors.
svn-id: r52724
2010-09-14 14:57:30 +00:00
Willem Jan Palenstijn
05c2cc4d1d
COMMON: Fix eos handling in BufferedReadStream
...
This makes it pass the test added in r52382.
svn-id: r52389
2010-08-25 14:43:42 +00:00
Yotam Barnoy
4368d3c574
COMMON: fixed EOS handling in BufferedReadStream and BufferedSeekableReadStream
...
EOS problem was causing Discworld to crash and zip files not to load on the PSP.
svn-id: r52377
2010-08-25 09:14:41 +00:00
Yotam Barnoy
efdbb076a2
COMMON: implemented BufferedWriteStream and fixed bug in BufferedReadStream
...
I need the write buffering for the new version of the PSP streams and thought the simplest way to implement it would be along the lines of BufferedReadStream. Sadly, I found a nasty little bug in BRS but that's taken care of.
Also, I adapted these streams for target-specific memory allocation by using virtual functions for allocation/deallocation.
svn-id: r52325
2010-08-24 11:18:48 +00:00
Max Horn
651e2760a3
Fix spelling, cleanup
...
svn-id: r49843
2010-06-15 12:33:20 +00:00
Eugene Sandulenko
024f492137
Added seek() method to MemoryWriteStreamDynamic.
...
If it deserves a separate class, shout.
svn-id: r49750
2010-06-15 10:34:14 +00:00
Max Horn
d083e02215
Rename Common::Stream::readLine_NEW to readLine
...
svn-id: r46779
2009-12-30 23:00:55 +00:00
Max Horn
2bbf708dea
Introduced new type Common::DisposeAfterUse::Flag
...
svn-id: r45233
2009-10-18 19:41:59 +00:00
Max Horn
8ba75fc522
Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other things)
...
svn-id: r44495
2009-09-30 16:16:53 +00:00
Eugene Sandulenko
6a8a9740a1
Fix valgrind warning
...
svn-id: r40309
2009-05-04 16:35:47 +00:00
Max Horn
05b4370c21
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
2009-03-05 20:37:53 +00:00
Jordi Vilalta Prat
b1999a2a16
Fixed indentation and removed whitespaces at the end of line
...
svn-id: r35481
2008-12-22 11:22:15 +00:00
Max Horn
abae99d645
Get rid of readLine_OLD for good
...
svn-id: r35229
2008-12-03 22:55:30 +00:00
Willem Jan Palenstijn
c8eeae8d4d
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
2008-09-14 22:28:53 +00:00
Max Horn
655ce26b3f
Big patch changing the signature of various Stream methods (some ports may need to be slightly tweaked to fix overloading errors/warnings)
...
svn-id: r34514
2008-09-13 16:51:46 +00:00
Max Horn
6cb09e311a
Added some unit tests for Stream::readLine_NEW, and clarified that readLine_NEW is essentially fgets in disguise
...
svn-id: r34384
2008-09-06 16:46:28 +00:00
Max Horn
c7a0b52c17
Fixed Stream::readLine implementation to match its doxygen comment
...
svn-id: r34316
2008-09-03 18:07:31 +00:00
Max Horn
57e724bfc3
Renamed SeekableReadStream::readLine to SeekableReadStream::readLine_OLD; added a new alternate SeekableReadStream::readLine() instead
...
svn-id: r34315
2008-09-03 17:53:25 +00:00
Max Horn
1e2988b7f7
Changed BufferedReadStream to not permanently decrease its buffer size at the end of a stream (this would fail when using BufferedSeekableReadStream and then seeking back from the end); this also fixes a bug which let you seek back beyond the start of a stream (not that we currently support that in other streams)
...
svn-id: r33436
2008-07-30 07:39:41 +00:00
Max Horn
aaa4d104f7
Added two new classes, BufferedReadStream & BufferedSeekableReadStream, as proposed on scummvm-devel
...
svn-id: r33419
2008-07-29 17:42:19 +00:00
Kari Salminen
e09eb75ef7
Silence a warning which complains about using an uninitialized variable.
...
svn-id: r33169
2008-07-21 11:33:30 +00:00
Max Horn
f7ec115f08
New SeekableReadStream::readLine_NEW() method, closely modelled after fgets, w/o the line length limitations of the old eekableReadStream::readLine() (which it will replace, after the feature freeze has been lifted)
...
svn-id: r33139
2008-07-20 16:47:52 +00:00
Nicola Mettifogo
258901bab9
Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
...
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
218e132e37
Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
...
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
42f11e9e49
Added new ReadStream::readStream method which can be used to read a portion of an arbitrary ReadStream into a memory buffer wrapped by a MemoryReadStream
...
svn-id: r25754
2007-02-20 21:41:01 +00:00
Max Horn
7290d1b18c
Enhance (Seekable)SubReadStream so be able to (optionally) dispose the parent stream after it's been used (simplifies memory management for client code)
...
svn-id: r25732
2007-02-19 21:11:13 +00:00
Travis Howell
cc8653604e
Fix compile
...
svn-id: r24716
2006-11-13 22:42:24 +00:00
Max Horn
cce7cba3b4
Patch #1583931 : (Seekable)SubReadStream
...
svn-id: r24713
2006-11-13 20:58:21 +00:00
Max Horn
36934b611d
Change CVS keywords to SVN keywords
...
svn-id: r20510
2006-02-11 09:53:53 +00:00
Johannes Schickel
d4b3467ac8
Fixes a bug when loading the theme config file from a directory instead of the zip file.
...
svn-id: r20310
2006-01-30 14:19:02 +00:00
Eugene Sandulenko
ea42bad781
Update copyright notice
...
svn-id: r20088
2006-01-18 17:39:49 +00:00
Eugene Sandulenko
b36677af71
Update FSF address. Eek. Actually that took place on May 1, 2005
...
svn-id: r19142
2005-10-18 01:30:26 +00:00