[Scummvm-cvs-logs] CVS: scummvm/sky control.cpp,1.35,1.36
Torbj?rn Andersson
eriktorbjorn at users.sourceforge.net
Thu Jul 10 00:10:08 CEST 2003
Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv26236
Modified Files:
control.cpp
Log Message:
Slight cleanup. Fixes a few minor memory leaks, I believe.
Index: control.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/control.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- control.cpp 10 Jul 2003 02:13:53 -0000 1.35
+++ control.cpp 10 Jul 2003 07:09:25 -0000 1.36
@@ -959,11 +959,11 @@
memset(destBuf, 0, MAX_SAVE_GAMES * MAX_TEXT_LEN);
- File *inf = new File();
- inf->open("SKY-VM.SAV",_savePath);
- if (inf->isOpen()) {
- uint8 *tmpBuf = (uint8 *)malloc(inf->size());
- inf->read(tmpBuf, inf->size());
+ File inf;
+ inf.open("SKY-VM.SAV",_savePath);
+ if (inf.isOpen()) {
+ uint8 *tmpBuf = (uint8 *)malloc(inf.size());
+ inf.read(tmpBuf, inf.size());
uint8 *destPos = destBuf;
uint8 *inPos = tmpBuf;
for (uint16 cnt = 0; cnt < MAX_SAVE_GAMES; cnt++) {
@@ -975,7 +975,7 @@
inPos += nameCnt + 1;
}
free(tmpBuf);
- inf->close();
+ inf.close();
} else {
uint8 *destPos = destBuf;
for (uint16 cnt = 0; cnt < MAX_SAVE_GAMES; cnt++) {
@@ -1003,10 +1003,10 @@
tmpPos++;
srcPos += MAX_TEXT_LEN;
}
- File *outf = new File();
- outf->open("SKY-VM.SAV", _savePath, File::kFileWriteMode);
- outf->write(tmpBuf, tmpPos - tmpBuf);
- outf->close();
+ File outf;
+ outf.open("SKY-VM.SAV", _savePath, File::kFileWriteMode);
+ outf.write(tmpBuf, tmpPos - tmpBuf);
+ outf.close();
free(tmpBuf);
}
@@ -1014,22 +1014,19 @@
char fName[20];
sprintf(fName,"SKY-VM.%03d", _selectedGame);
- File *outf = new File();
- if (!outf->open(fName, _savePath, File::kFileWriteMode)) {
- delete outf;
+ File outf;
+ if (!outf.open(fName, _savePath, File::kFileWriteMode)) {
return NO_DISK_SPACE;
}
uint8 *saveData = (uint8 *)malloc(0x50000);
uint32 fSize = prepareSaveData(saveData);
- if (outf->write(saveData, fSize) != fSize) {
+ if (outf.write(saveData, fSize) != fSize) {
free(saveData);
- delete outf;
return NO_DISK_SPACE;
}
- outf->close();
- delete outf;
+ outf.close();
free(saveData);
return GAME_SAVED;
}
@@ -1398,34 +1395,30 @@
char fName[20];
sprintf(fName,"SKY-VM.%03d", _selectedGame);
- File *inf = new File();
- if (!inf->open(fName, _savePath)) {
- delete inf;
+ File inf;
+ if (!inf.open(fName, _savePath)) {
return RESTORE_FAILED;
}
- uint32 fSize = inf->size();
+ uint32 fSize = inf.size();
uint8 *saveData = (uint8 *)malloc(fSize);
- uint32 infSize = inf->readUint32LE();
- inf->seek(0, SEEK_SET);
+ uint32 infSize = inf.readUint32LE();
+ inf.seek(0, SEEK_SET);
if (fSize != infSize) {
warning("File size doesn't match expected data size!");
- delete inf;
free(saveData);
return RESTORE_FAILED;
}
- if (inf->read(saveData, fSize) != fSize) {
+ if (inf.read(saveData, fSize) != fSize) {
warning("Can't read from file!");
- delete inf;
free(saveData);
return RESTORE_FAILED;
}
uint16 res = parseSaveData(saveData);
SkyState::_systemVars.pastIntro = true;
- inf->close();
- delete inf;
+ inf.close();
free(saveData);
return res;
}
More information about the Scummvm-git-logs
mailing list