Commit Graph
53 Commits
Author SHA1 Message Date
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
Eugene Sandulenko 6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Max Horn 8b1d7b9166 When including files from common/, explicitly use the common/ prefix
svn-id: r18444
2005-06-24 15:23:51 +00:00
Max Horn 969ef3dac9 * Added new virtual base class 'Stream', ReadStream and
WriteStream are now subclasses of it.
* Added new methods eos(), ioFailed(), clearIOFailed() to
  all streams. This allows better error checking.
* SaveFile classes take advantage of these new standard
  stream APIS
* Removed File::gets()
* Added SeekableReadStream::readLine() (replaces File::gets)
* Added WriteStream::writeString, for convenience

svn-id: r17752
2005-04-22 17:40:09 +00:00
Torbjörn Andersson 9d1f4ff1e6 Since _pos is unsigned it's always >= 0, so testing for negativity will
generate a warning in GCC.

svn-id: r16496
2005-01-09 14:57:41 +00:00
Max Horn bc44b5ec15 Added new interface SeekableReadStream
svn-id: r16493
2005-01-09 01:41:43 +00:00
Max Horn 47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn 369e31a41c Modified version of patch #1082777 (common/stream optimization)
svn-id: r16034
2004-12-11 23:16:36 +00:00