[Scummvm-cvs-logs] CVS: scummvm/backends/dc vmsave.cpp,1.25,1.26

Marcus Comstedt marcus_c at users.sourceforge.net
Wed May 4 16:35:39 CEST 2005


Update of /cvsroot/scummvm/scummvm/backends/dc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24662

Modified Files:
	vmsave.cpp 
Log Message:
Cleanup of the cleanup code.  :-)

Index: vmsave.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/dc/vmsave.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- vmsave.cpp	4 May 2005 23:24:03 -0000	1.25
+++ vmsave.cpp	4 May 2005 23:34:26 -0000	1.26
@@ -149,7 +149,8 @@
   if(vmsfs_read_file(&file, (unsigned char *)buffer, size))
     return true;
 
-  delete buffer;
+  delete[] buffer;
+  buffer = NULL;
   return false;
 }
 
@@ -230,7 +231,11 @@
     strncpy(filename, _filename, 16);
   }
 
-  ~InVMSave();
+  ~InVMSave()
+  {
+    if(buffer != NULL)
+      delete[] buffer;
+  }
 
   bool eos() const { return pos >= size; }
 
@@ -244,10 +249,10 @@
       char *expbuf = new char[MAX_SAVE_SIZE];
       unsigned long destlen = MAX_SAVE_SIZE;
       if(!uncompress((Bytef*)expbuf, &destlen, (Bytef*)buffer, size)) {
-	delete(buffer);
+	delete[] buffer;
 	buffer = expbuf;
 	size = destlen;
-      } else delete expbuf;
+      } else delete[] expbuf;
     }
   }
 };
@@ -292,11 +297,6 @@
   virtual void listSavefiles(const char *prefix, bool *marks, int num);
 };
 
-InVMSave::~InVMSave()
-{
-  delete buffer;
-}
-
 OutVMSave::~OutVMSave()
 {
   extern const char *gGameName;
@@ -307,14 +307,14 @@
     char *compbuf = new char[pos];
     unsigned long destlen = pos;
     if(!compress((Bytef*)compbuf, &destlen, (Bytef*)buffer, pos)) {
-      delete buffer;
+      delete[] buffer;
       buffer = compbuf;
       pos = destlen;
-    } else delete compbuf;
+    } else delete[] compbuf;
   }
   displaySaveResult(writeSaveGame(gGameName, buffer,
 				  pos, filename, icon));
-  delete buffer;
+  delete[] buffer;
 }
 
 uint32 InVMSave::read(void *buf, uint32 cnt)





More information about the Scummvm-git-logs mailing list