Delete temporary files before attempting to rename (Windows and some Unix fixes).
This commit is contained in:
parent
e8a8e87666
commit
2fa40d8933
|
@ -1,5 +1,5 @@
|
||||||
VERSION = 1.2
|
VERSION = 1.2
|
||||||
REVISION = 0
|
REVISION = 1
|
||||||
LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))
|
LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))
|
||||||
|
|
||||||
OUT = bin
|
OUT = bin
|
||||||
|
|
|
@ -100,7 +100,12 @@ static void saveGameAndWorld(void)
|
||||||
|
|
||||||
src = buildFormattedString("%s/%d/%s.json.tmp", app.saveDir, game.saveSlot, world.id);
|
src = buildFormattedString("%s/%d/%s.json.tmp", app.saveDir, game.saveSlot, world.id);
|
||||||
dest = buildFormattedString("%s/%d/%s.json", app.saveDir, game.saveSlot, world.id);
|
dest = buildFormattedString("%s/%d/%s.json", app.saveDir, game.saveSlot, world.id);
|
||||||
renameFile(src, dest);
|
|
||||||
|
if (!renameFile(src, dest))
|
||||||
|
{
|
||||||
|
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_ERROR, "Failed to save file '%s'", dest);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
free(src);
|
free(src);
|
||||||
free(dest);
|
free(dest);
|
||||||
|
@ -108,7 +113,12 @@ static void saveGameAndWorld(void)
|
||||||
|
|
||||||
src = buildFormattedString("%s/%d/game.json.tmp", app.saveDir, game.saveSlot);
|
src = buildFormattedString("%s/%d/game.json.tmp", app.saveDir, game.saveSlot);
|
||||||
dest = buildFormattedString("%s/%d/game.json", app.saveDir, game.saveSlot, world.id);
|
dest = buildFormattedString("%s/%d/game.json", app.saveDir, game.saveSlot, world.id);
|
||||||
renameFile(src, dest);
|
|
||||||
|
if (!renameFile(src, dest))
|
||||||
|
{
|
||||||
|
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_ERROR, "Failed to save file '%s'", dest);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
free(src);
|
free(src);
|
||||||
free(dest);
|
free(dest);
|
||||||
|
|
|
@ -202,7 +202,7 @@ int deleteFile(char *path)
|
||||||
|
|
||||||
int renameFile(char *src, char *dest)
|
int renameFile(char *src, char *dest)
|
||||||
{
|
{
|
||||||
return rename(src, dest) == 0;
|
return deleteFile(dest) && rename(src, dest) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int stringComparator(const void *a, const void *b)
|
static int stringComparator(const void *a, const void *b)
|
||||||
|
|
Loading…
Reference in New Issue