Patch #1825132: SAVEFILEMAN: renameSavefile implementation

svn-id: r29433
This commit is contained in:
Max Horn 2007-11-06 10:52:47 +00:00
parent 83802f795b
commit 3598192859
2 changed files with 44 additions and 0 deletions

View file

@ -32,6 +32,42 @@
namespace Common {
bool SaveFileManager::renameSavefile(const char *oldFilename, const char *newFilename) {
InSaveFile *inFile = 0;
OutSaveFile *outFile = 0;
uint32 size = 0;
void *buffer = 0;
bool success = false;
inFile = openForLoading(oldFilename);
if (inFile) {
size = inFile->size();
buffer = malloc(size);
assert(buffer);
outFile = openForSaving(newFilename);
if (buffer && outFile) {
inFile->read(buffer, size);
if (!inFile->ioFailed()) {
outFile->write(buffer, size);
outFile->finalize();
if (!outFile->ioFailed()) {
success = removeSavefile(oldFilename);
}
}
}
free(buffer);
delete outFile;
delete inFile;
}
return success;
}
const char *SaveFileManager::getSavePath() const {
#if defined(PALMOS_MODE) || defined(__PSP__)