aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/base/saveload.cpp
diff options
context:
space:
mode:
authorlolbot-iichan2019-05-20 23:53:16 +0300
committerFilippos Karapetis2020-01-11 18:05:39 +0200
commit4bd18fd25e0dffe40bb9e2aa9e59d3b41ac17529 (patch)
treeae15e9bad289973551416ef804201bed800431b4 /engines/wintermute/base/saveload.cpp
parente3595393c85cbffa4fd604527e747bc701a2d5f4 (diff)
downloadscummvm-rg350-4bd18fd25e0dffe40bb9e2aa9e59d3b41ac17529.tar.gz
scummvm-rg350-4bd18fd25e0dffe40bb9e2aa9e59d3b41ac17529.tar.bz2
scummvm-rg350-4bd18fd25e0dffe40bb9e2aa9e59d3b41ac17529.zip
WINTERMUTE: GetSaveSlotDescription refactoring
Diffstat (limited to 'engines/wintermute/base/saveload.cpp')
-rw-r--r--engines/wintermute/base/saveload.cpp28
1 files changed, 12 insertions, 16 deletions
diff --git a/engines/wintermute/base/saveload.cpp b/engines/wintermute/base/saveload.cpp
index 6299cf6e01..e0f97f0d88 100644
--- a/engines/wintermute/base/saveload.cpp
+++ b/engines/wintermute/base/saveload.cpp
@@ -159,31 +159,27 @@ void SaveLoad::afterLoadScript(void *script, void *data) {
}
Common::String SaveLoad::getSaveSlotFilename(int slot) {
+ Common::String filename;
BasePersistenceManager *pm = new BasePersistenceManager();
- Common::String filename = pm->getFilenameForSlot(slot);
- delete pm;
+ if (pm) {
+ filename = pm->getFilenameForSlot(slot);
+ delete pm;
+ }
debugC(kWintermuteDebugSaveGame, "getSaveSlotFileName(%d) = %s", slot, filename.c_str());
return filename;
}
-bool SaveLoad::getSaveSlotDescription(int slot, char *buffer) {
- buffer[0] = '\0';
-
+Common::String SaveLoad::getSaveSlotDescription(int slot) {
+ Common::String description;
Common::String filename = getSaveSlotFilename(slot);
BasePersistenceManager *pm = new BasePersistenceManager();
- if (!pm) {
- return false;
- }
-
- if (!(pm->initLoad(filename))) {
+ if (pm) {
+ if ((pm->initLoad(filename))) {
+ description = pm->_savedDescription;
+ }
delete pm;
- return false;
}
-
- strcpy(buffer, pm->_savedDescription);
- delete pm;
-
- return true;
+ return description;
}
bool SaveLoad::isSaveSlotUsed(int slot) {