[Scummvm-cvs-logs] SF.net SVN: scummvm: [25973] scummvm/trunk/engines/parallaction
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sun Mar 4 16:00:52 CET 2007
Revision: 25973
http://scummvm.svn.sourceforge.net/scummvm/?rev=25973&view=rev
Author: peres001
Date: 2007-03-04 07:00:50 -0800 (Sun, 04 Mar 2007)
Log Message:
-----------
made Script optionally take ownership and dispose input text
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/parser.cpp
scummvm/trunk/engines/parallaction/parser.h
Modified: scummvm/trunk/engines/parallaction/parser.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parser.cpp 2007-03-04 13:27:29 UTC (rev 25972)
+++ scummvm/trunk/engines/parallaction/parser.cpp 2007-03-04 15:00:50 UTC (rev 25973)
@@ -29,8 +29,13 @@
char _tokens[20][40];
-Script::Script(const char* s) : _src(s) {
+Script::Script(const char* s, bool disposeSource) : _src(s), _disposeSource(disposeSource) {
+ _pos = const_cast<char*>(_src);
+}
+Script::~Script() {
+ if (_disposeSource)
+ free(const_cast<char*>(_src));
}
char *Script::readLine(char *buf, size_t bufSize) {
@@ -39,7 +44,7 @@
char v2 = 0;
for ( _si = 0; _si<bufSize; _si++) {
- v2 = *_src++;
+ v2 = *_pos++;
if (v2 == 0xA || v2 == -1) break;
if (v2 != -1 && _si < bufSize) buf[_si] = v2;
}
Modified: scummvm/trunk/engines/parallaction/parser.h
===================================================================
--- scummvm/trunk/engines/parallaction/parser.h 2007-03-04 13:27:29 UTC (rev 25972)
+++ scummvm/trunk/engines/parallaction/parser.h 2007-03-04 15:00:50 UTC (rev 25973)
@@ -37,10 +37,13 @@
class Script : public Common::SeekableReadStream {
- const char* _src;
+ const char* const _src;
+ bool _disposeSource;
+ char* _pos;
public:
- Script(const char* s);
+ Script(const char* s, bool _disposeSource = false);
+ ~Script();
uint32 read(void *dataPtr, uint32 dataSize);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list