aboutsummaryrefslogtreecommitdiff
path: root/saga/rscfile.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2004-08-01 23:24:22 +0000
committerEugene Sandulenko2004-08-01 23:24:22 +0000
commit873c886910f43cce67cfaf25e671c4adc70ebb7b (patch)
tree5cd67ab3b5ea52aacb0ea0700db008fc29272a2a /saga/rscfile.cpp
parent936142bf40a75e61e629fa5370f5b83be97d62ca (diff)
downloadscummvm-rg350-873c886910f43cce67cfaf25e671c4adc70ebb7b.tar.gz
scummvm-rg350-873c886910f43cce67cfaf25e671c4adc70ebb7b.tar.bz2
scummvm-rg350-873c886910f43cce67cfaf25e671c4adc70ebb7b.zip
Made all MemoryReadStream local variables. This plugged a giantic constant
leakage in the engine. svn-id: r14427
Diffstat (limited to 'saga/rscfile.cpp')
-rw-r--r--saga/rscfile.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/saga/rscfile.cpp b/saga/rscfile.cpp
index afbac86585..f38aa9d321 100644
--- a/saga/rscfile.cpp
+++ b/saga/rscfile.cpp
@@ -113,10 +113,10 @@ int RSC_LoadRSC(R_RSCFILE_CONTEXT *rsc) {
return R_FAILURE;
}
- MemoryReadStream *readS = new MemoryReadStream(tblinfo_buf, RSC_TABLEINFO_SIZE);
+ MemoryReadStream readS(tblinfo_buf, RSC_TABLEINFO_SIZE);
- res_tbl_offset = readS->readUint32LE();
- res_tbl_ct = readS->readUint32LE();
+ res_tbl_offset = readS.readUint32LE();
+ res_tbl_ct = readS.readUint32LE();
// Check for sane table offset
if (res_tbl_offset != rsc->rc_file.size() - RSC_TABLEINFO_SIZE - RSC_TABLEENTRY_SIZE * res_tbl_ct) {
@@ -145,11 +145,11 @@ int RSC_LoadRSC(R_RSCFILE_CONTEXT *rsc) {
return R_FAILURE;
}
- readS = new MemoryReadStream(tbl_buf, tbl_len);
+ MemoryReadStream readS1(tbl_buf, tbl_len);
for (i = 0; i < res_tbl_ct; i++) {
- rsc_restbl[i].res_offset = readS->readUint32LE();
- rsc_restbl[i].res_size = readS->readUint32LE();
+ rsc_restbl[i].res_offset = readS1.readUint32LE();
+ rsc_restbl[i].res_size = readS1.readUint32LE();
if ((rsc_restbl[i].res_offset > rsc->rc_file.size()) || (rsc_restbl[i].res_size > rsc->rc_file.size())) {
free(tbl_buf);
free(rsc_restbl);