aboutsummaryrefslogtreecommitdiff
path: root/common/stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/stream.cpp')
-rw-r--r--common/stream.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/common/stream.cpp b/common/stream.cpp
index 08774312fd..8d93888020 100644
--- a/common/stream.cpp
+++ b/common/stream.cpp
@@ -39,6 +39,27 @@ SeekableReadStream *ReadStream::readStream(uint32 dataSize) {
return new MemoryReadStream((byte *)buf, dataSize, DisposeAfterUse::YES);
}
+Common::String ReadStream::readPascalString(bool transformCR) {
+ Common::String s;
+ char *buf;
+ int len;
+ int i;
+
+ len = readByte();
+ buf = (char *)malloc(len + 1);
+ for (i = 0; i < len; i++) {
+ buf[i] = readByte();
+ if (transformCR && buf[i] == 0x0d)
+ buf[i] = '\n';
+ }
+
+ buf[i] = 0;
+
+ s = buf;
+ free(buf);
+
+ return s;
+}
uint32 MemoryReadStream::read(void *dataPtr, uint32 dataSize) {
// Read at most as many bytes as are still available...