[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.433,1.434
Max Horn
fingolfin at users.sourceforge.net
Fri Jun 25 15:14:02 CEST 2004
Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9054/simon
Modified Files:
simon.cpp
Log Message:
Use auto_ptr to avoid leaks
Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.433
retrieving revision 1.434
diff -u -d -r1.433 -r1.434
--- simon.cpp 12 Apr 2004 12:25:51 -0000 1.433
+++ simon.cpp 25 Jun 2004 22:12:56 -0000 1.434
@@ -42,6 +42,8 @@
#include <errno.h>
#include <time.h>
+#include <memory>
+
#ifdef __PALM_OS__
#include "globals.h"
#endif
@@ -2623,7 +2625,8 @@
uint i = 1;
bool marks[256];
- SaveFileManager *mgr = _system->get_savefile_manager();
+ const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
+
char *prefix = gen_savename(999);
prefix[strlen(prefix)-3] = '\0';
mgr->list_savefiles(prefix, getSavePath(), marks, 256);
@@ -2637,7 +2640,6 @@
} else
break;
}
- delete mgr;
return i;
}
@@ -2651,7 +2653,8 @@
slot = curpos;
- SaveFileManager *mgr = _system->get_savefile_manager();
+ const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
+
while (curpos + 6 > slot) {
if(!(in = mgr->open_savefile(gen_savename(slot), getSavePath(), false)))
@@ -2685,8 +2688,6 @@
}
}
- delete mgr;
-
return slot - curpos;
}
@@ -4806,11 +4807,11 @@
errno = 0;
#endif
- SaveFileManager *mgr = _system->get_savefile_manager();
+ const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
+
f = mgr->open_savefile(gen_savename(slot), getSavePath(), true);
if (f == NULL) {
- delete mgr;
_lock_word &= ~0x100;
return false;
}
@@ -4881,7 +4882,6 @@
f->writeUint16BE(_bit_array[i]);
delete f;
- delete mgr;
_lock_word &= ~0x100;
@@ -4892,9 +4892,9 @@
static char buf[15];
if (_game & GF_SIMON2) {
- sprintf(buf, "simon2.%.3d", slot);
+ sprintf(buf, "simon2.%.3d", slot);
} else {
- sprintf(buf, "simon1.%.3d", slot);
+ sprintf(buf, "simon1.%.3d", slot);
}
return buf;
}
@@ -4910,11 +4910,11 @@
errno = 0;
#endif
- SaveFileManager *mgr = _system->get_savefile_manager();
+ const std::auto_ptr<SaveFileManager> mgr(_system->get_savefile_manager());
+
f = mgr->open_savefile(gen_savename(slot), getSavePath(), false);
if (f == NULL) {
- delete mgr;
_lock_word &= ~0x100;
return false;
}
@@ -4925,7 +4925,6 @@
if (f->readUint32BE() != 0xFFFFFFFF || num != _itemarray_inited - 1) {
delete f;
- delete mgr;
_lock_word &= ~0x100;
return false;
}
@@ -5003,7 +5002,6 @@
_bit_array[i] = f->readUint16BE();
delete f;
- delete mgr;
_no_parent_notify = false;
More information about the Scummvm-git-logs
mailing list