[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